diff --git a/test/expected/cast.out b/test/expected/cast.out index f8e18dd..6432af4 100644 --- a/test/expected/cast.out +++ b/test/expected/cast.out @@ -96,6 +96,24 @@ SELECT '[1,2,3]'::halfvec::vector(3); SELECT '[1,2,3]'::halfvec::vector(2); ERROR: expected 2 dimensions, not 3 +SELECT '{1,2,3}'::real[]::halfvec; + halfvec +--------- + [1,2,3] +(1 row) + +SELECT '{1,2,3}'::real[]::halfvec(3); + halfvec +--------- + [1,2,3] +(1 row) + +SELECT '{1,2,3}'::real[]::halfvec(2); +ERROR: expected 2 dimensions, not 3 +SELECT '{65520,-65520}'::real[]::halfvec; +ERROR: value out of range: overflow +SELECT '{1e-8,-1e-8}'::real[]::halfvec; +ERROR: value out of range: underflow SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; sparsevec ----------------- diff --git a/test/sql/cast.sql b/test/sql/cast.sql index 6adbe6f..4d9691c 100644 --- a/test/sql/cast.sql +++ b/test/sql/cast.sql @@ -26,6 +26,12 @@ SELECT '[1,2,3]'::halfvec::vector; SELECT '[1,2,3]'::halfvec::vector(3); SELECT '[1,2,3]'::halfvec::vector(2); +SELECT '{1,2,3}'::real[]::halfvec; +SELECT '{1,2,3}'::real[]::halfvec(3); +SELECT '{1,2,3}'::real[]::halfvec(2); +SELECT '{65520,-65520}'::real[]::halfvec; +SELECT '{1e-8,-1e-8}'::real[]::halfvec; + SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec; SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec(5); SELECT '[0,1.5,0,3.5,0]'::vector::sparsevec(4);