1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
# name: test/sql/function/list/list_inner_product.test
# group: [list]
query I
SELECT list_inner_product([], []);
----
0.0
foreach type FLOAT DOUBLE
query I
SELECT list_inner_product([1, 1, 1]::${type}[], [1, 1, 1]::${type}[]);
----
3.0
statement ok
CREATE OR REPLACE TABLE lists (l ${type}[]);
statement ok
INSERT INTO lists VALUES ([1, 2, 3]), ([1, 2, 4]), ([7, 8, 9]), ([-1, -2, -3]), (NULL);
query I
SELECT list_inner_product(l, [1, 2, 3]) FROM lists;
----
14.0
17.0
50.0
-14.0
NULL
statement error
SELECT list_inner_product([1, NULL, 3]::${type}[], [1, 2, 3]::${type}[]);
----
left argument can not contain NULL values
statement error
SELECT list_inner_product([1, 2, 3]::${type}[], [1, NULL, 3]::${type}[]);
----
right argument can not contain NULL values
statement error
SELECT list_inner_product([1, 2, 3]::${type}[], [1, 2, 3, 4]::${type}[]);
----
Invalid Input Error: list_inner_product: list dimensions must be equal, got left length '3' and right length '4'
query I
SELECT list_negative_inner_product([1,2,3]::${type}[], [1,2,3]::${type}[]) = -list_inner_product([1,2,3]::${type}[], [1,2,3]::${type}[]);
----
true
endloop
|