Andrew Kane
52bfedddc2
Improved naming [skip ci]
2024-04-24 18:16:54 -07:00
Andrew Kane
0f4c2407dd
Removed IvfflatType from CheckCenters [skip ci]
2024-04-24 18:13:01 -07:00
Andrew Kane
3e924ab7ad
Added checkDuplicates to KmeansState [skip ci]
2024-04-24 18:04:26 -07:00
Andrew Kane
cd8a25bc9a
Removed IvfflatType from more functions [skip ci]
2024-04-24 17:45:48 -07:00
Andrew Kane
6bb5de3d1b
Added KmeansState [skip ci]
2024-04-24 17:40:21 -07:00
Andrew Kane
15ee38456f
Improved initialization of new centers [skip ci]
2024-04-24 16:45:16 -07:00
Andrew Kane
25b98540c9
Improved QuickCenters [skip ci]
2024-04-24 16:38:14 -07:00
Andrew Kane
c4484c90d9
Switched to Pointer [skip ci]
2024-04-24 16:27:54 -07:00
Andrew Kane
1129d23df9
Updated SumCenters and SetNewCenters to use float [skip ci]
2024-04-24 16:08:19 -07:00
Andrew Kane
cf46c3f651
Improved code [skip ci]
2024-04-24 15:57:29 -07:00
Andrew Kane
fb6683ade7
Improved SetNewCenters [skip ci]
2024-04-24 15:56:50 -07:00
Andrew Kane
558953ca6b
Improved SumCenters [skip ci]
2024-04-24 15:50:23 -07:00
Andrew Kane
b24ec26025
Improved SortVectorArray [skip ci]
2024-04-24 15:38:04 -07:00
Andrew Kane
8b6eab25a3
Moved IvfflatGetType [skip ci]
2024-04-24 15:34:10 -07:00
Andrew Kane
69c3e719f7
Added support functions for max dimensions for ivfflat
2024-04-24 15:27:10 -07:00
Andrew Kane
e81547847f
Updated comment [skip ci]
2024-04-24 15:09:04 -07:00
Andrew Kane
6ad81fc60d
Moved functions and synced upgrade script [skip ci]
2024-04-24 15:08:30 -07:00
Andrew Kane
7ac0ac5a7f
Renamed functions [skip ci]
2024-04-24 15:00:36 -07:00
Andrew Kane
3eef1ff5c2
Removed type-specific code from HNSW [skip ci]
2024-04-24 14:53:45 -07:00
Heikki Linnakangas
b8bdf317f0
Add comment to 'unused' fields
...
I just guessed that these exist for future extendability.
2024-04-24 13:05:02 -07:00
Andrew Kane
78e5bcf229
Switched to 0-based numbering for sparsevec on-disk format
2024-04-24 12:51:24 -07:00
Andrew Kane
4d21eea6f1
Updated comments [skip ci]
2024-04-24 11:27:09 -07:00
Andrew Kane
03ca9adc4c
Added comments [skip ci]
2024-04-24 11:26:05 -07:00
Andrew Kane
d244a040e1
Increased max sparsevec dimensions to 1B [skip ci]
2024-04-24 11:17:25 -07:00
Andrew Kane
c3448a25e2
Improved error messages for sparsevec input
2024-04-24 11:12:28 -07:00
Andrew Kane
053ce2ddae
Improved CI for Windows [skip ci]
2024-04-24 10:22:31 -07:00
Andrew Kane
24c1b51099
Added comment [skip ci]
2024-04-24 10:13:50 -07:00
Andrew Kane
9696835a19
Improved tests for sparsevec input [skip ci]
2024-04-24 09:58:27 -07:00
Andrew Kane
b2a5259607
Switched to strtoint for sparsevec input
2024-04-24 09:56:09 -07:00
Andrew Kane
c198fd58ee
Added more tests for subvector function [skip ci]
2024-04-24 01:31:50 -07:00
Andrew Kane
8c408759dc
Added more tests for subvector function [skip ci]
2024-04-24 01:28:25 -07:00
Heikki Linnakangas
14b351bc92
Fix integer overflow in subvector() function ( #530 )
...
`end = start + count` can overflow if `start` is very large. That
leads to a segfault later in the function. Add test case for it.
2024-04-24 01:20:16 -07:00
Andrew Kane
ad3f811fa3
Use VARSIZE_ANY instead of itemsize to avoid uninitialized bytes
2024-04-23 23:52:02 -07:00
Andrew Kane
281a74f54e
Improved consistency of sparsevec_l1_distance with vector [skip ci]
2024-04-23 21:24:02 -07:00
Andrew Kane
034713c803
Improved consistency with vector [skip ci]
2024-04-23 21:13:00 -07:00
Andrew Kane
ed2e460f00
Improved consistency with vector [skip ci]
2024-04-23 21:11:27 -07:00
Andrew Kane
d136615874
Improved test [skip ci]
2024-04-23 20:42:30 -07:00
Andrew Kane
d70b160e0a
Improved test [skip ci]
2024-04-23 20:41:11 -07:00
Andrew Kane
d1affcc667
Improved tests for l2_norm [skip ci]
2024-04-23 20:38:22 -07:00
Andrew Kane
158481ff2a
Improved tests for sparsevec distance functions [skip ci]
2024-04-23 20:29:04 -07:00
Andrew Kane
794bbaecc7
Removed padding for sparsevec - #529
...
Co-authored-by: Heikki Linnakangas <heikki.linnakangas@iki.fi >
2024-04-23 20:07:24 -07:00
Andrew Kane
8eddcfbd1d
Increased max sparsevec dimensions to 1M [skip ci]
2024-04-23 17:47:11 -07:00
Andrew Kane
b609c343b4
Moved type-specific code to separate functions
2024-04-23 16:32:10 -07:00
Andrew Kane
bbfb3f200a
DRY code for sorting vector arrays [skip ci]
2024-04-23 15:59:42 -07:00
Andrew Kane
99d367edc0
Improved code [skip ci]
2024-04-23 15:53:12 -07:00
Andrew Kane
991743786a
Set length for newCenters and aggCenters [skip ci]
2024-04-23 15:47:04 -07:00
Andrew Kane
60ceaea4f2
Added safety check to NormCenters [skip ci]
2024-04-23 15:43:04 -07:00
Andrew Kane
9cd789fe06
Switched to support function for normalizing centers for k-means
2024-04-23 15:39:58 -07:00
Andrew Kane
0da6213a60
Moved type lookup to support functions - #527
2024-04-23 13:02:47 -07:00
Heikki Linnakangas
d1b83991af
Forbid zero values in sparsevec's binary input function ( #528 )
...
The text input function simply left out any zero values, but the
binary input function did not. That's problematic because you end up
with an "unnormalized" sparse vector, which behaves in weird ways. At
least sparsevec_cmp_internal() expects both inputs to not contain
zeros.
The binary send function never produces such zero values, but an
external tool could. Or to test, you can use COPY TO (FORMAT BINARY),
use a hex editor to edit one of the values to be zero, and copy it
back with COPY FROM (FORMAT BINARY).
2024-04-23 09:13:53 -07:00