should be it
This commit is contained in:
511
external/duckdb/test/sql/function/numeric/test_trigo.test
vendored
Normal file
511
external/duckdb/test/sql/function/numeric/test_trigo.test
vendored
Normal file
@@ -0,0 +1,511 @@
|
||||
# name: test/sql/function/numeric/test_trigo.test
|
||||
# description: Test trigonometric function
|
||||
# group: [numeric]
|
||||
|
||||
statement ok
|
||||
SET default_null_order='nulls_first';
|
||||
|
||||
statement ok
|
||||
CREATE TABLE numbers(n DOUBLE)
|
||||
|
||||
statement ok
|
||||
INSERT INTO numbers VALUES (-42),(-1),(0), (1), (42), (NULL)
|
||||
|
||||
query I
|
||||
SELECT cast(SIN(n::tinyint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
917
|
||||
-841
|
||||
0
|
||||
841
|
||||
-917
|
||||
|
||||
query I
|
||||
SELECT cast(SIN(n::smallint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
917
|
||||
-841
|
||||
0
|
||||
841
|
||||
-917
|
||||
|
||||
query I
|
||||
SELECT cast(SIN(n::integer)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
917
|
||||
-841
|
||||
0
|
||||
841
|
||||
-917
|
||||
|
||||
query I
|
||||
SELECT cast(SIN(n::bigint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
917
|
||||
-841
|
||||
0
|
||||
841
|
||||
-917
|
||||
|
||||
query I
|
||||
SELECT cast(SIN(n::float)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
917
|
||||
-841
|
||||
0
|
||||
841
|
||||
-917
|
||||
|
||||
query I
|
||||
SELECT cast(SIN(n::double)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
917
|
||||
-841
|
||||
0
|
||||
841
|
||||
-917
|
||||
|
||||
query I
|
||||
SELECT cast(COS(n::tinyint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-400
|
||||
540
|
||||
1000
|
||||
540
|
||||
-400
|
||||
|
||||
query I
|
||||
SELECT cast(COS(n::smallint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-400
|
||||
540
|
||||
1000
|
||||
540
|
||||
-400
|
||||
|
||||
query I
|
||||
SELECT cast(COS(n::integer)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-400
|
||||
540
|
||||
1000
|
||||
540
|
||||
-400
|
||||
|
||||
query I
|
||||
SELECT cast(COS(n::bigint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-400
|
||||
540
|
||||
1000
|
||||
540
|
||||
-400
|
||||
|
||||
query I
|
||||
SELECT cast(COS(n::float)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-400
|
||||
540
|
||||
1000
|
||||
540
|
||||
-400
|
||||
|
||||
query I
|
||||
SELECT cast(COS(n::double)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-400
|
||||
540
|
||||
1000
|
||||
540
|
||||
-400
|
||||
|
||||
query I
|
||||
SELECT cast(TAN(n::tinyint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-2291
|
||||
-1557
|
||||
0
|
||||
1557
|
||||
2291
|
||||
|
||||
query I
|
||||
SELECT cast(TAN(n::smallint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-2291
|
||||
-1557
|
||||
0
|
||||
1557
|
||||
2291
|
||||
|
||||
query I
|
||||
SELECT cast(TAN(n::integer)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-2291
|
||||
-1557
|
||||
0
|
||||
1557
|
||||
2291
|
||||
|
||||
query I
|
||||
SELECT cast(TAN(n::bigint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-2291
|
||||
-1557
|
||||
0
|
||||
1557
|
||||
2291
|
||||
|
||||
query I
|
||||
SELECT cast(TAN(n::float)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-2291
|
||||
-1557
|
||||
0
|
||||
1557
|
||||
2291
|
||||
|
||||
query I
|
||||
SELECT cast(TAN(n::double)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-2291
|
||||
-1557
|
||||
0
|
||||
1557
|
||||
2291
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN(n::tinyint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-1547
|
||||
-785
|
||||
0
|
||||
785
|
||||
1547
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN(n::smallint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-1547
|
||||
-785
|
||||
0
|
||||
785
|
||||
1547
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN(n::integer)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-1547
|
||||
-785
|
||||
0
|
||||
785
|
||||
1547
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN(n::bigint)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-1547
|
||||
-785
|
||||
0
|
||||
785
|
||||
1547
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN(n::float)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-1547
|
||||
-785
|
||||
0
|
||||
785
|
||||
1547
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN(n::double)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-1547
|
||||
-785
|
||||
0
|
||||
785
|
||||
1547
|
||||
|
||||
query I
|
||||
SELECT cast(ASIN(n::tinyint)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
-1571
|
||||
0
|
||||
1571
|
||||
|
||||
query I
|
||||
SELECT cast(ASIN(n::smallint)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
-1571
|
||||
0
|
||||
1571
|
||||
|
||||
query I
|
||||
SELECT cast(ASIN(n::integer)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
-1571
|
||||
0
|
||||
1571
|
||||
|
||||
query I
|
||||
SELECT cast(ASIN(n::bigint)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
-1571
|
||||
0
|
||||
1571
|
||||
|
||||
query I
|
||||
SELECT cast(ASIN(n::float)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
-1571
|
||||
0
|
||||
1571
|
||||
|
||||
query I
|
||||
SELECT cast(ASIN(n::double)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
-1571
|
||||
0
|
||||
1571
|
||||
|
||||
query I
|
||||
SELECT cast(ACOS(n::tinyint)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
3142
|
||||
1571
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT cast(ACOS(n::smallint)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
3142
|
||||
1571
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT cast(ACOS(n::integer)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
3142
|
||||
1571
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT cast(ACOS(n::bigint)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
3142
|
||||
1571
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT cast(ACOS(n::float)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
3142
|
||||
1571
|
||||
0
|
||||
|
||||
query I
|
||||
SELECT cast(ACOS(n::double)*1000 as bigint) FROM numbers WHERE n between -1 and 1 ORDER BY n
|
||||
----
|
||||
3142
|
||||
1571
|
||||
0
|
||||
|
||||
statement error
|
||||
SELECT cast(ASIN(n)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
|
||||
query I
|
||||
SELECT cast(COT(n::tinyint)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n
|
||||
----
|
||||
-436
|
||||
-642
|
||||
642
|
||||
436
|
||||
|
||||
query I
|
||||
SELECT cast(COT(n::smallint)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n
|
||||
----
|
||||
-436
|
||||
-642
|
||||
642
|
||||
436
|
||||
|
||||
query I
|
||||
SELECT cast(COT(n::integer)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n
|
||||
----
|
||||
-436
|
||||
-642
|
||||
642
|
||||
436
|
||||
|
||||
query I
|
||||
SELECT cast(COT(n::bigint)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n
|
||||
----
|
||||
-436
|
||||
-642
|
||||
642
|
||||
436
|
||||
|
||||
query I
|
||||
SELECT cast(COT(n::float)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n
|
||||
----
|
||||
-436
|
||||
-642
|
||||
642
|
||||
436
|
||||
|
||||
query I
|
||||
SELECT cast(COT(n::double)*1000 as bigint) FROM numbers WHERE n > 0.1 OR N < -0.1 ORDER BY n
|
||||
----
|
||||
-436
|
||||
-642
|
||||
642
|
||||
436
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN2(n::tinyint, 42)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-785
|
||||
-24
|
||||
0
|
||||
24
|
||||
785
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN2(n::smallint, 42)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-785
|
||||
-24
|
||||
0
|
||||
24
|
||||
785
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN2(n::integer, 42)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-785
|
||||
-24
|
||||
0
|
||||
24
|
||||
785
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN2(n::bigint, 42)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-785
|
||||
-24
|
||||
0
|
||||
24
|
||||
785
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN2(n::float, 42)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-785
|
||||
-24
|
||||
0
|
||||
24
|
||||
785
|
||||
|
||||
query I
|
||||
SELECT cast(ATAN2(n::double, 42)*1000 as bigint) FROM numbers ORDER BY n
|
||||
----
|
||||
NULL
|
||||
-785
|
||||
-24
|
||||
0
|
||||
24
|
||||
785
|
||||
|
||||
statement error
|
||||
select asin(-2);
|
||||
----
|
||||
Invalid Input Error: ASIN is undefined outside [-1,1]
|
||||
|
||||
statement error
|
||||
select acos(-2);
|
||||
----
|
||||
Invalid Input Error: ACOS is undefined outside [-1,1]
|
||||
|
||||
|
||||
# Hyperbolic trigo functions
|
||||
|
||||
# ATANH
|
||||
foreach value 1.1 -1.1
|
||||
|
||||
statement error
|
||||
select atanh(${value});
|
||||
----
|
||||
Invalid Input Error: ATANH is undefined outside [-1,1]
|
||||
|
||||
endloop
|
||||
|
||||
query II
|
||||
select atanh(1), atanh(-1);
|
||||
----
|
||||
inf inf
|
||||
|
||||
query III
|
||||
select atanh(-0.5), atanh(0), atanh(0.5);
|
||||
----
|
||||
-0.5493061443340549 0.0 0.5493061443340549
|
||||
|
||||
# ACOSH
|
||||
query IIII
|
||||
select acosh(-1), acosh(0), acosh(1), acosh(2);
|
||||
----
|
||||
NaN NaN 0.0 1.3169578969248166
|
||||
|
||||
# ASINH
|
||||
query III
|
||||
select asinh(-1), asinh(0), asinh(2);
|
||||
----
|
||||
-0.881373587019543 0.0 1.4436354751788103
|
||||
|
||||
# TANH
|
||||
query IIII
|
||||
select tanh(-0.5), tanh(0), tanh(0.5), tanh(1000);
|
||||
----
|
||||
-0.46211715726000974 0.0 0.46211715726000974 1.0
|
||||
|
||||
# COSH
|
||||
query IIII
|
||||
select cosh(-1), cosh(0), cosh(1), cosh(1000);
|
||||
----
|
||||
1.5430806348152437 1.0 1.5430806348152437 inf
|
||||
|
||||
# SINH
|
||||
query IIII
|
||||
select sinh(-1), sinh(0), sinh(1), sinh(1000);
|
||||
----
|
||||
-1.1752011936438014 0.0 1.1752011936438014 inf
|
||||
Reference in New Issue
Block a user