Commit Graph

604 Commits

Author SHA1 Message Date
Andrew Kane
7adb8a6e0e Fixed sparsevec comparison function and added test for consistency 2024-04-16 11:36:45 -07:00
Andrew Kane
5b0eff9dae Updated comment [skip ci] 2024-04-15 15:53:07 -07:00
Andrew Kane
5cf75c0b83 Added comment [skip ci] 2024-04-15 15:50:59 -07:00
Andrew Kane
5215c28923 Moved norm check to separate function 2024-04-15 15:32:08 -07:00
Andrew Kane
bf3ef4de56 Improved safety check [skip ci] 2024-04-15 14:55:32 -07:00
Andrew Kane
2c82f05503 Improved safety check [skip ci] 2024-04-15 14:51:24 -07:00
Andrew Kane
f655166639 Improved safety check [skip ci] 2024-04-15 14:50:28 -07:00
Andrew Kane
7580e99205 Improved safety check [skip ci] 2024-04-15 14:49:40 -07:00
Andrew Kane
a415420a1c Updated l2_normalize to remove zeros for sparsevec 2024-04-15 14:42:53 -07:00
Andrew Kane
cadfc72b75 Fixed compilation on Windows 2024-04-15 14:14:25 -07:00
Andrew Kane
ceeba6a134 Added todo [skip ci] 2024-04-15 14:11:17 -07:00
Andrew Kane
127ecdd650 Added l2_normalize function for sparsevec 2024-04-15 14:05:18 -07:00
Andrew Kane
10dacfd991 Updated indexes to use l2_normalize functions 2024-04-15 13:56:50 -07:00
Andrew Kane
312da84536 Added CPU dispatching for vector cosine distance [skip ci] 2024-04-15 10:47:06 -07:00
Andrew Kane
2913c9f0b6 Moved vector L1 distance to separate function [skip ci] 2024-04-15 10:35:16 -07:00
Andrew Kane
fac88d0fd4 Moved vector cosine similarity to separate function [skip ci] 2024-04-15 10:33:23 -07:00
Andrew Kane
ba99255bbb Switched to float for consistency with other distance functions 2024-04-15 10:20:27 -07:00
Andrew Kane
55845bfd5f Added SIMD version of cosine distance 2024-04-15 10:01:05 -07:00
Andrew Kane
b12cd121a5 Use fabsf for l1_distance 2024-04-14 23:33:27 -07:00
Andrew Kane
38b223b4bd Added concatenate operator for vectors 2024-04-14 23:12:07 -07:00
Andrew Kane
4f6c4850d9 Added l1_distance function for sparsevec [skip ci] 2024-04-14 22:59:28 -07:00
Andrew Kane
b70fb2b3f4 Added l2_normalize function - closes #220 2024-04-14 20:53:05 -07:00
Andrew Kane
00308491d3 Added CPU dispatching for distance functions on Linux x86-64 - closes #311
Co-authored-by: Arda Aytekin <arda.aytekin@microsoft.com>
2024-04-14 19:30:41 -07:00
Andrew Kane
fe9a9a0d0f Renamed quantize_binary to binary_quantize 2024-04-14 16:57:28 -07:00
Andrew Kane
8751404a94 Renamed halfvec_dims to vector_dims [skip ci] 2024-04-14 16:40:16 -07:00
Andrew Kane
44e536b4ae Renamed functions to l2_norm [skip ci] 2024-04-14 16:29:27 -07:00
Andrew Kane
e146f3cfb6 Added avg for half vectors [skip ci] 2024-04-14 15:11:11 -07:00
Andrew Kane
b4b914a580 Fixed sparsevec_cmp_internal 2024-04-14 14:04:03 -07:00
Andrew Kane
88788472ba Added comparison operators for sparsevec 2024-04-14 13:40:37 -07:00
Andrew Kane
c68c2867fd Added more functions for halfvec 2024-04-14 13:12:08 -07:00
Andrew Kane
8a4845b52e Fixed CI 2024-04-13 16:09:42 -07:00
Andrew Kane
96b30fd25d Improved error message and tests for sparsevec_in 2024-04-13 15:50:40 -07:00
Andrew Kane
545ae30057 Improved performance of sparsevec_in 2024-04-13 15:42:16 -07:00
Andrew Kane
20fb2e0797 Improved sparsevec_in [skip ci] 2024-04-13 15:13:08 -07:00
Andrew Kane
89629abc08 Removed unneeded check [skip ci] 2024-04-13 15:06:17 -07:00
Andrew Kane
db112862a5 Improved performance of halfvec_in 2024-04-13 15:04:52 -07:00
Andrew Kane
f5e6e58359 Improved performance of vector_in 2024-04-13 14:49:00 -07:00
Andrew Kane
8f93d02c71 Updated comments [skip ci] 2024-04-13 14:06:10 -07:00
Andrew Kane
c5c82bafda Updated invalid input syntax messages to be consistent [skip ci] 2024-04-13 11:32:47 -07:00
Andrew Kane
23944302fe Improved input functions [skip ci] 2024-04-13 11:09:59 -07:00
Andrew Kane
aed463dbad Fixed headers 2024-04-12 11:58:27 -07:00
Andrew Kane
f64abe3aae Fixed performance of halfvec 2024-04-12 11:50:34 -07:00
Andrew Kane
06d90fdc76 Updated comments [skip ci] 2024-04-11 22:35:11 -07:00
Andrew Kane
cc4b01bd49 Moved code [skip ci] 2024-04-11 22:25:53 -07:00
Andrew Kane
3621a84ef8 Moved code to separate function [skip ci] 2024-04-11 22:23:16 -07:00
Andrew Kane
f2bffff460 Improved code for item size [skip ci] 2024-04-11 21:14:48 -07:00
Andrew Kane
af7d9b74a9 Fixed max dimensions for halfvec for IVFFlat [skip ci] 2024-04-11 21:07:45 -07:00
Andrew Kane
f1a71524f0 Added comment [skip ci] 2024-04-11 20:35:41 -07:00
Andrew Kane
7710cc8c28 Added comments [skip ci] 2024-04-11 20:34:15 -07:00
Andrew Kane
fea2eb262e Moved type check out of loop [skip ci] 2024-04-11 20:31:27 -07:00