Added tests for sparsevec_norm [skip ci]

This commit is contained in:
Andrew Kane
2024-04-10 11:37:11 -07:00
parent 12f4a34708
commit bf355792b2
4 changed files with 51 additions and 22 deletions

View File

@@ -1,3 +1,21 @@
SELECT round(halfvec_norm('[1,1]')::numeric, 5);
round
---------
1.41421
(1 row)
SELECT halfvec_norm('[3,4]');
halfvec_norm
--------------
5
(1 row)
SELECT halfvec_norm('[0,1]');
halfvec_norm
--------------
1
(1 row)
SELECT l2_distance('[0,0]'::halfvec, '[3,4]');
l2_distance
-------------
@@ -156,21 +174,3 @@ SELECT subvector('[1,2,3,4,5]'::halfvec, 3, -1);
ERROR: halfvec must have at least 1 dimension
SELECT subvector('[1,2,3,4,5]'::halfvec, -1, 2);
ERROR: halfvec must have at least 1 dimension
SELECT round(halfvec_norm('[1,1]')::numeric, 5);
round
---------
1.41421
(1 row)
SELECT halfvec_norm('[3,4]');
halfvec_norm
--------------
5
(1 row)
SELECT halfvec_norm('[0,1]');
halfvec_norm
--------------
1
(1 row)

View File

@@ -1,3 +1,27 @@
SELECT round(sparsevec_norm('{1:1,2:1}/2')::numeric, 5);
round
---------
1.41421
(1 row)
SELECT sparsevec_norm('{1:3,2:4}/2');
sparsevec_norm
----------------
5
(1 row)
SELECT sparsevec_norm('{2:1}/2');
sparsevec_norm
----------------
1
(1 row)
SELECT sparsevec_norm('{1:3e37,2:4e37}/2')::real;
sparsevec_norm
----------------
5e+37
(1 row)
SELECT l2_distance('{}/2'::sparsevec, '{1:3,2:4}/2');
l2_distance
-------------

View File

@@ -1,3 +1,7 @@
SELECT round(halfvec_norm('[1,1]')::numeric, 5);
SELECT halfvec_norm('[3,4]');
SELECT halfvec_norm('[0,1]');
SELECT l2_distance('[0,0]'::halfvec, '[3,4]');
SELECT l2_distance('[0,0]'::halfvec, '[0,1]');
SELECT l2_distance('[1,2]'::halfvec, '[3]');
@@ -34,7 +38,3 @@ SELECT subvector('[1,2,3,4,5]'::halfvec, 3, 9);
SELECT subvector('[1,2,3,4,5]'::halfvec, 1, 0);
SELECT subvector('[1,2,3,4,5]'::halfvec, 3, -1);
SELECT subvector('[1,2,3,4,5]'::halfvec, -1, 2);
SELECT round(halfvec_norm('[1,1]')::numeric, 5);
SELECT halfvec_norm('[3,4]');
SELECT halfvec_norm('[0,1]');

View File

@@ -1,3 +1,8 @@
SELECT round(sparsevec_norm('{1:1,2:1}/2')::numeric, 5);
SELECT sparsevec_norm('{1:3,2:4}/2');
SELECT sparsevec_norm('{2:1}/2');
SELECT sparsevec_norm('{1:3e37,2:4e37}/2')::real;
SELECT l2_distance('{}/2'::sparsevec, '{1:3,2:4}/2');
SELECT l2_distance('{}/2'::sparsevec, '{2:1}/2');
SELECT '{}/2'::sparsevec <-> '{1:3,2:4}/2';