@@ -16,6 +16,37 @@ test!(
16
16
"#
17
17
) ;
18
18
19
+ test ! (
20
+ floor_round_ceil_trunc_fabs_functions,
21
+ r#"
22
+ map(floor), map(round), map(ceil), map(trunc), map(fabs)
23
+ "# ,
24
+ r#"
25
+ [-3.5,-2.1,-1,-0.3,0,0.3,0.7,1,1.2,2.8,3.5]
26
+ "# ,
27
+ r#"
28
+ [-4,-3,-1,-1,0,0,0,1,1,2,3]
29
+ [-4,-2,-1,-0,0,0,1,1,1,3,4]
30
+ [-3,-2,-1,-0,0,1,1,1,2,3,4]
31
+ [-3,-2,-1,-0,0,0,0,1,1,2,3]
32
+ [3.5,2.1,1,0.3,0,0.3,0.7,1,1.2,2.8,3.5]
33
+ "#
34
+ ) ;
35
+
36
+ test ! (
37
+ sqrt_cbrt_functions,
38
+ r#"
39
+ map(sqrt | select(isnan | not)), map(cbrt) | map(. * 10000 | round)
40
+ "# ,
41
+ r#"
42
+ [-4,-3.375,0,0.125,1,8,9,16.777216]
43
+ "# ,
44
+ r#"
45
+ [0,3536,10000,28284,30000,40960]
46
+ [-15874,-15000,0,5000,10000,20000,20801,25600]
47
+ "#
48
+ ) ;
49
+
19
50
test ! (
20
51
trigonometric_functions,
21
52
r#"
@@ -75,3 +106,82 @@ test!(
75
106
[0,0.346573590,0.804718956]
76
107
"#
77
108
) ;
109
+
110
+ test ! (
111
+ exponential_functions,
112
+ r#"
113
+ map(exp), map(exp2), map(exp10), map(expm1) | map(. * 1000000000 | floor / 1000000000)
114
+ "# ,
115
+ r#"
116
+ [-1,-0.5,0,0.5,1,1.5,2]
117
+ "# ,
118
+ r#"
119
+ [0.367879441,0.606530659,1,1.64872127,2.718281828,4.48168907,7.389056098]
120
+ [0.5,0.707106781,1,1.414213562,2,2.828427124,4]
121
+ [0.1,0.316227766,1,3.16227766,10,31.622776601,100]
122
+ [-0.632120559,-0.393469341,0,0.64872127,1.718281828,3.48168907,6.389056098]
123
+ "#
124
+ ) ;
125
+
126
+ test ! (
127
+ logarithmic_functions,
128
+ r#"
129
+ map(log), map(log2), map(log10) | map(. * 1000000000 | floor / 1000000000)
130
+ "# ,
131
+ r#"
132
+ [0.1,0.5,1,2,3,10]
133
+ "# ,
134
+ r#"
135
+ [-2.302585093,-0.693147181,0,0.69314718,1.098612288,2.302585092]
136
+ [-3.321928095,-1,0,1,1.5849625,3.321928094]
137
+ [-1,-0.301029996,0,0.301029995,0.477121254,1]
138
+ "#
139
+ ) ;
140
+
141
+ test ! (
142
+ fmax_fmin_copysign_functions,
143
+ r#"
144
+ [fmax(0.1,0.3; 0.2,0.4)],
145
+ [fmin(0.1,0.3; 0.2,0.4)],
146
+ [copysign(0.1,-0.3; 0.2,-0.4)]
147
+ "# ,
148
+ r#"
149
+ null
150
+ "# ,
151
+ r#"
152
+ [0.2,0.4,0.3,0.4]
153
+ [0.1,0.1,0.2,0.3]
154
+ [0.1,-0.1,0.3,-0.3]
155
+ "#
156
+ ) ;
157
+
158
+ test ! (
159
+ atan2_hypot_powf_functions,
160
+ r#"
161
+ [atan2(0.1,0.3; 0.2,0.4)],
162
+ [hypot(0.1,0.3; 0.2,0.4)],
163
+ [pow(0.1,0.3; 0.2,0.4)] |
164
+ map(. * 1000000000 | floor / 1000000000)
165
+ "# ,
166
+ r#"
167
+ null
168
+ "# ,
169
+ r#"
170
+ [0.463647609,0.244978663,0.982793723,0.643501108]
171
+ [0.223606797,0.412310562,0.360555127,0.5]
172
+ [0.630957344,0.39810717,0.786003085,0.61780085]
173
+ "#
174
+ ) ;
175
+
176
+ test ! (
177
+ fma_function,
178
+ r#"
179
+ [fma(1.5,2.5; 3.5,4.5; 5.25,6.75)]
180
+ "# ,
181
+ r#"
182
+ null
183
+ "# ,
184
+ r#"
185
+ [10.5,12,12,13.5,14,15.5,16.5,18]
186
+ "#
187
+ ) ;
0 commit comments