Commit | Line | Data |
---|---|---|
184f15d5 JH |
1 | #include this file into another test for subclass testing... |
2 | ||
11c955be SH |
3 | use strict; |
4 | use warnings; | |
5 | ||
3cc1ad36 | 6 | our ($CLASS, $try, $x, $y, $z, $f, @args, $want, $got, $setup, $LIB); |
11c955be | 7 | |
3cc1ad36 | 8 | is($CLASS->config()->{lib}, $LIB); |
184f15d5 | 9 | |
990fb837 RGS |
10 | $setup = ''; |
11 | ||
11c955be SH |
12 | while (<DATA>) { |
13 | s/#.*$//; # remove comments | |
14 | s/\s+$//; # remove trailing whitespace | |
15 | next unless length; # skip empty lines | |
16 | ||
17 | if (s/^&//) { | |
18 | $f = $_; | |
19 | next; | |
20 | } | |
21 | ||
22 | if (/^\$/) { | |
23 | $setup = $_; | |
24 | $setup =~ s/\$/\$${CLASS}::/g; # round_mode, div_scale | |
25 | #print "\$setup== $setup\n"; | |
26 | next; | |
184f15d5 | 27 | } |
11c955be SH |
28 | |
29 | if (m|^(.*?):(/.+)$|) { | |
30 | $want = $2; | |
31 | @args = split(/:/, $1, 99); | |
32 | } else { | |
33 | @args = split(/:/, $_, 99); | |
34 | $want = pop(@args); | |
184f15d5 | 35 | } |
11c955be SH |
36 | |
37 | $try = qq|\$x = $CLASS->new("$args[0]");|; | |
38 | if ($f eq "bnorm") { | |
39 | $try .= " \$x;"; | |
40 | } elsif ($f eq "finf") { | |
990fb837 | 41 | my $a = $args[1] || ''; |
11c955be | 42 | $try .= qq| \$x->binf("$a");|; |
11c955be SH |
43 | } elsif ($f eq "fone") { |
44 | $try .= qq| \$x->bone("$args[1]");|; | |
45 | } elsif ($f eq "fstr") { | |
46 | $try .= " \$x->accuracy($args[1]); \$x->precision($args[2]);"; | |
47 | $try .= ' $x->bstr();'; | |
48 | } elsif ($f eq "parts") { | |
184f15d5 | 49 | # ->bstr() to see if an object is returned |
11c955be SH |
50 | $try .= ' ($a,$b) = $x->parts(); $a = $a->bstr(); $b = $b->bstr();'; |
51 | $try .= ' "$a $b";'; | |
52 | } elsif ($f eq "numerator") { | |
184f15d5 | 53 | # ->bstr() to see if an object is returned |
11c955be SH |
54 | $try .= ' $x->numerator()->bstr();'; |
55 | } elsif ($f eq "denominator") { | |
184f15d5 | 56 | # ->bstr() to see if an object is returned |
11c955be SH |
57 | $try .= ' $x->denominator()->bstr();'; |
58 | } elsif ($f =~ /^(length|numify)$/) { | |
59 | $try .= " \$x->$f();"; | |
60 | # some unary ops (can't test the fxxx form, since no AUTOLOAD in BigRat) | |
61 | } elsif ($f =~ /^f(nan|sstr|neg|floor|ceil|abs)$/) { | |
62 | $try .= " \$x->b$1();"; | |
63 | # overloaded functions | |
64 | } elsif ($f =~ /^(log|exp|sin|cos|atan2|int|neg|abs|sqrt)$/) { | |
65 | $try .= " \$x = $f(\$x);"; | |
66 | # some is_xxx test function | |
3cc1ad36 | 67 | } elsif ($f =~ /^is_(zero|pos|neg|negative|positive|odd|even|nan|int)\z/) { |
11c955be | 68 | $try .= " \$x->$f();"; |
3cc1ad36 SH |
69 | } elsif ($f =~ /^is_(one|inf)$/) { |
70 | $try .= @args == 1 ? qq| \$x->$f();| | |
71 | : qq| \$x->$f("$args[1]");|; | |
11c955be SH |
72 | } elsif ($f =~ /^(as_number|as_int)\z/) { |
73 | $try .= " \$x->$1();"; | |
74 | } elsif ($f eq "finc") { | |
75 | $try .= ' ++$x;'; | |
76 | } elsif ($f eq "fdec") { | |
77 | $try .= ' --$x;'; | |
78 | } elsif ($f eq "digit") { | |
79 | $try .= " \$x->digit($args[1]);"; | |
80 | } elsif ($f eq "fround") { | |
81 | $try .= " $setup; \$x->bround($args[1]);"; | |
82 | } elsif ($f eq "ffround") { | |
83 | $try .= " $setup; \$x->bfround($args[1]);"; | |
84 | } elsif ($f eq "fsqrt") { | |
85 | $try .= " $setup; \$x->bsqrt();"; | |
86 | } elsif ($f eq "flog") { | |
87 | $try .= " $setup; \$x->blog();"; | |
88 | } elsif ($f eq "ffac") { | |
89 | $try .= " $setup; \$x->bfac();"; | |
90 | } else { | |
91 | $try .= qq| \$y = $CLASS->new("$args[1]");|; | |
92 | if ($f eq "bcmp") { | |
93 | $try .= ' $x <=> $y;'; | |
94 | } elsif ($f eq "bacmp") { | |
95 | $try .= ' $x->bacmp($y);'; | |
96 | } elsif ($f eq "bpow") { | |
11c955be SH |
97 | $try .= ' $x->bpow($y);'; |
98 | } elsif ($f eq "badd") { | |
99 | $try .= ' $x + $y;'; | |
100 | } elsif ($f eq "bsub") { | |
101 | $try .= ' $x - $y;'; | |
102 | } elsif ($f eq "bmul") { | |
103 | $try .= ' $x * $y;'; | |
104 | } elsif ($f eq "bdiv") { | |
105 | $try .= " $setup; \$x / \$y;"; | |
106 | } elsif ($f eq "bdiv-list") { | |
107 | $try .= qq| $setup; join(",", \$x->bdiv(\$y));|; | |
108 | } elsif ($f eq "brsft") { | |
109 | $try .= ' $x >> $y;'; | |
110 | } elsif ($f eq "blsft") { | |
111 | $try .= ' $x << $y;'; | |
112 | } elsif ($f eq "bmod") { | |
113 | $try .= ' $x % $y;'; | |
114 | } elsif ($f eq "bmodinv") { | |
115 | $try .= " \$x->bmodinv(\$y);"; | |
116 | } elsif ($f eq "blog") { | |
117 | $try .= " \$x->blog(\$y);"; | |
118 | } else { | |
119 | $try .= qq| \$z = $CLASS->new("$args[2]");|; | |
7afd7a91 | 120 | |
11c955be SH |
121 | # Functions with three arguments |
122 | if ($f eq "bmodpow") { | |
123 | $try .= " \$x->bmodpow(\$y, \$z);"; | |
124 | } else { | |
125 | warn "Unknown op '$f'"; | |
126 | } | |
127 | } | |
184f15d5 JH |
128 | } |
129 | # print "# Trying: '$try'\n"; | |
11c955be SH |
130 | $got = eval $try; |
131 | if ($want =~ m|^/(.*)$|) { | |
132 | my $pat = $1; | |
133 | like($got, qr/$pat/, $try); | |
134 | } else { | |
135 | if ($want eq "") { | |
136 | is($got, undef, $try); | |
137 | } else { | |
138 | is($got, $want, $try); | |
139 | #if (ref($got) eq "$CLASS") { | |
140 | # # float numbers are normalized (for now), so mantissa shouldn't have | |
141 | # # trailing zeros | |
142 | # #print $got->_trailing_zeros(), "\n"; | |
143 | # print "# Has trailing zeros after '$try'\n" | |
144 | # if !is($got->{_m}->_trailing_zeros(), 0); | |
145 | #} | |
184f15d5 | 146 | } |
11c955be SH |
147 | } # end pattern or string |
148 | } # end while | |
184f15d5 | 149 | |
11c955be | 150 | # check whether $CLASS->new(Math::BigInt->new()) destroys it |
184f15d5 | 151 | # ($y == 12 in this case) |
11c955be SH |
152 | $x = Math::BigInt->new(1200); |
153 | $y = $CLASS->new($x); | |
154 | is($y, 1200, qq|\$x = Math::BigInt->new(1200); \$y = $CLASS->new(\$x); $y|); | |
155 | is($x, 1200, qq|\$x = Math::BigInt->new(1200); \$y = $CLASS->new(\$x); $x|); | |
184f15d5 JH |
156 | |
157 | ############################################################################### | |
11c955be | 158 | # zero, inf, one, nan |
184f15d5 | 159 | |
11c955be SH |
160 | $x = $CLASS->new(2); |
161 | $x->bzero(); | |
162 | is($x->{_a}, undef, qq|\$x = $CLASS->new(2); \$x->bzero(); \$x->{_a}|); | |
163 | is($x->{_p}, undef, qq|\$x = $CLASS->new(2); \$x->bzero(); \$x->{_p}|); | |
164 | ||
165 | $x = $CLASS->new(2); | |
166 | $x->binf(); | |
167 | is($x->{_a}, undef, qq|\$x = $CLASS->new(2); \$x->binf(); \$x->{_a}|); | |
168 | is($x->{_p}, undef, qq|\$x = $CLASS->new(2); \$x->binf(); \$x->{_p}|); | |
169 | ||
170 | $x = $CLASS->new(2); | |
171 | $x->bone(); | |
172 | is($x->{_a}, undef, qq|\$x = $CLASS->new(2); \$x->bone(); \$x->{_a}|); | |
173 | is($x->{_p}, undef, qq|\$x = $CLASS->new(2); \$x->bone(); \$x->{_p}|); | |
174 | ||
175 | $x = $CLASS->new(2); | |
176 | $x->bnan(); | |
177 | is($x->{_a}, undef, qq|\$x = $CLASS->new(2); \$x->bnan(); \$x->{_a}|); | |
178 | is($x->{_p}, undef, qq|\$x = $CLASS->new(2); \$x->bnan(); \$x->{_p}|); | |
184f15d5 JH |
179 | |
180 | __DATA__ | |
3cc1ad36 | 181 | |
12fc2493 AMS |
182 | &digit |
183 | 123:2:1 | |
184 | 1234:0:4 | |
185 | 1234:1:3 | |
186 | 1234:2:2 | |
187 | 1234:3:1 | |
188 | 1234:-1:1 | |
189 | 1234:-2:2 | |
190 | 1234:-3:3 | |
191 | 1234:-4:4 | |
192 | 0:0:0 | |
193 | 0:1:0 | |
3cc1ad36 | 194 | |
7afd7a91 T |
195 | &bmodinv |
196 | # format: number:modulus:result | |
197 | # bmodinv Data errors | |
198 | abc:abc:NaN | |
199 | abc:5:NaN | |
200 | 5:abc:NaN | |
201 | # bmodinv Expected Results from normal use | |
202 | 1:5:1 | |
203 | 3:5:2 | |
487de07a | 204 | 3:-5:-3 |
7afd7a91 T |
205 | -2:5:2 |
206 | 8:5033:4404 | |
207 | 1234567891:13:6 | |
208 | -1234567891:13:7 | |
209 | 324958749843759385732954874325984357439658735983745:2348249874968739:1741662881064902 | |
210 | ## bmodinv Error cases / useless use of function | |
7afd7a91 T |
211 | inf:5:NaN |
212 | 5:inf:NaN | |
213 | -inf:5:NaN | |
214 | 5:-inf:NaN | |
3cc1ad36 | 215 | |
990fb837 RGS |
216 | &as_number |
217 | 144/7:20 | |
b68b7ab1 T |
218 | 12/1:12 |
219 | -12/1:-12 | |
220 | -12/3:-4 | |
221 | NaN:NaN | |
222 | +inf:inf | |
223 | -inf:-inf | |
3cc1ad36 | 224 | |
b68b7ab1 T |
225 | &as_int |
226 | 144/7:20 | |
227 | 12/1:12 | |
228 | -12/1:-12 | |
229 | -12/3:-4 | |
990fb837 RGS |
230 | NaN:NaN |
231 | +inf:inf | |
232 | -inf:-inf | |
3cc1ad36 | 233 | |
7afd7a91 T |
234 | &bmodpow |
235 | # format: number:exponent:modulus:result | |
236 | # bmodpow Data errors | |
237 | abc:abc:abc:NaN | |
238 | 5:abc:abc:NaN | |
239 | abc:5:abc:NaN | |
240 | abc:abc:5:NaN | |
241 | 5:5:abc:NaN | |
242 | 5:abc:5:NaN | |
243 | abc:5:5:NaN | |
244 | # bmodpow Expected results | |
245 | 0:0:2:1 | |
246 | 1:0:2:1 | |
247 | 0:0:1:0 | |
248 | 8:7:5032:3840 | |
249 | 8:-1:5033:4404 | |
116f6d6b | 250 | 8:8:-5:-4 |
7afd7a91 T |
251 | 98436739867439843769485798542749827593285729587325:43698764986460981048259837659386739857456983759328457:6943857329857295827698367:3104744730915914415259518 |
252 | # bmodpow Error cases | |
7afd7a91 T |
253 | 8:-1:16:NaN |
254 | inf:5:13:NaN | |
255 | 5:inf:13:NaN | |
3cc1ad36 | 256 | |
990fb837 RGS |
257 | &bmod |
258 | NaN:1:NaN | |
259 | 1:NaN:NaN | |
260 | 1:1:0 | |
261 | 2:2:0 | |
262 | 12:6:0 | |
263 | 7/4:4/14:1/28 | |
264 | 7/4:4/16:0 | |
265 | -7/4:4/16:0 | |
266 | -7/4:-4/16:0 | |
267 | 7/4:-4/16:0 | |
268 | 7/4:4/32:0 | |
269 | -7/4:4/32:0 | |
270 | -7/4:-4/32:0 | |
271 | 7/4:-4/32:0 | |
272 | 7/4:4/28:1/28 | |
3f185657 PJA |
273 | -7/4:4/28:3/28 |
274 | 7/4:-4/28:-3/28 | |
990fb837 | 275 | -7/4:-4/28:-1/28 |
3cc1ad36 | 276 | |
990fb837 RGS |
277 | &fsqrt |
278 | 1:1 | |
279 | 0:0 | |
280 | NaN:NaN | |
281 | +inf:inf | |
282 | -inf:NaN | |
283 | 144:12 | |
284 | # sqrt(144) / sqrt(4) = 12/2 = 6/1 | |
285 | 144/4:6 | |
286 | 25/16:5/4 | |
287 | -3:NaN | |
3cc1ad36 SH |
288 | 4/9:2/3 |
289 | 36/49:6/7 | |
290 | 49/121:7/11 | |
291 | 999966000289/99999820000081:999983/9999991 | |
292 | ||
990fb837 RGS |
293 | &flog |
294 | NaN:NaN | |
11c955be | 295 | 0:-inf |
7afd7a91 | 296 | -2:NaN |
3cc1ad36 | 297 | |
7afd7a91 T |
298 | &blog |
299 | NaN:NaN:NaN | |
300 | 0:NaN:NaN | |
301 | NaN:0:NaN | |
302 | NaN:1:NaN | |
303 | 1:NaN:NaN | |
11c955be | 304 | 0:2:-inf |
7afd7a91 T |
305 | 0:-2:NaN |
306 | 3:-2:NaN | |
3cc1ad36 | 307 | |
184f15d5 JH |
308 | &finf |
309 | 1:+:inf | |
310 | 2:-:-inf | |
311 | 3:abc:inf | |
3cc1ad36 | 312 | |
990fb837 | 313 | &numify |
93c87d9d T |
314 | 0:0 |
315 | +1:1 | |
316 | 1234:1234 | |
317 | 3/4:0.75 | |
318 | 5/2:2.5 | |
319 | 3/2:1.5 | |
320 | 5/4:1.25 | |
3cc1ad36 | 321 | |
184f15d5 JH |
322 | &fnan |
323 | abc:NaN | |
324 | 2:NaN | |
325 | -2:NaN | |
326 | 0:NaN | |
3cc1ad36 | 327 | |
184f15d5 JH |
328 | &fone |
329 | 2:+:1 | |
330 | -2:-:-1 | |
331 | -2:+:1 | |
332 | 2:-:-1 | |
333 | 0::1 | |
334 | -2::1 | |
335 | abc::1 | |
336 | 2:abc:1 | |
3cc1ad36 | 337 | |
184f15d5 JH |
338 | &fsstr |
339 | +inf:inf | |
340 | -inf:-inf | |
341 | abcfsstr:NaN | |
342 | 1:1/1 | |
343 | 3/1:3/1 | |
344 | 0.1:1/10 | |
3cc1ad36 | 345 | |
184f15d5 JH |
346 | &bnorm |
347 | 1:1 | |
348 | -0:0 | |
349 | bnormNaN:NaN | |
350 | +inf:inf | |
351 | -inf:-inf | |
7afd7a91 T |
352 | inf/inf:NaN |
353 | 5/inf:0 | |
354 | 5/-inf:0 | |
355 | inf/5:inf | |
356 | -inf/5:-inf | |
357 | inf/-5:-inf | |
358 | -inf/-5:inf | |
184f15d5 JH |
359 | 123:123 |
360 | -123.4567:-1234567/10000 | |
184f15d5 JH |
361 | #1.E3:NaN |
362 | .2E-3.:NaN | |
363 | #1e3e4:NaN | |
364 | .2E2:20 | |
365 | inf:inf | |
366 | +inf:inf | |
367 | -inf:-inf | |
11c955be | 368 | +InFiNiTy:inf |
184f15d5 JH |
369 | +-inf:NaN |
370 | abc:NaN | |
371 | 1 a:NaN | |
372 | 1bcd2:NaN | |
373 | 11111b:NaN | |
374 | +1z:NaN | |
375 | -1z:NaN | |
376 | 0:0 | |
377 | +0:0 | |
378 | +00:0 | |
379 | +0_0_0:0 | |
380 | 000000_0000000_00000:0 | |
381 | -0:0 | |
382 | -0000:0 | |
383 | +1:1 | |
384 | +01:1 | |
385 | +001:1 | |
386 | +00000100000:100000 | |
12fc2493 AMS |
387 | +00000800/00000010:80 |
388 | -00000800/00000010:-80 | |
389 | +00000800/-00000010:-80 | |
390 | -00000800/-00000010:80 | |
184f15d5 JH |
391 | 123456789:123456789 |
392 | -1:-1 | |
393 | -01:-1 | |
394 | -001:-1 | |
395 | -123456789:-123456789 | |
396 | -00000100000:-100000 | |
397 | 123.456a:NaN | |
398 | 123.456:15432/125 | |
399 | 0.01:1/100 | |
400 | .002:1/500 | |
401 | +.2:1/5 | |
402 | -0.0003:-3/10000 | |
403 | -.0000000004:-1/2500000000 | |
404 | 123456E2:12345600 | |
405 | 123456E-2:30864/25 | |
406 | -123456E2:-12345600 | |
407 | -123456E-2:-30864/25 | |
408 | 1e1:10 | |
409 | 2e-11:1/50000000000 | |
410 | 12/10:6/5 | |
411 | 0.1/0.1:1 | |
412 | 100/0.1:1000 | |
413 | 0.1/10:1/100 | |
414 | 1 / 3:1/3 | |
415 | 1/ 3:1/3 | |
416 | 1 /3:1/3 | |
3cc1ad36 | 417 | |
184f15d5 JH |
418 | &fneg |
419 | fnegNaN:NaN | |
420 | +inf:-inf | |
421 | -inf:inf | |
422 | +0:0 | |
423 | +1:-1 | |
424 | -1:1 | |
425 | +123456789:-123456789 | |
426 | -123456789:123456789 | |
427 | +123.456789:-123456789/1000000 | |
428 | -123456.789:123456789/1000 | |
b68b7ab1 T |
429 | 123/7:-123/7 |
430 | -123/7:123/7 | |
431 | 123/-7:123/7 | |
3cc1ad36 | 432 | |
184f15d5 JH |
433 | &fabs |
434 | fabsNaN:NaN | |
435 | +inf:inf | |
436 | -inf:inf | |
437 | +0:0 | |
438 | +1:1 | |
439 | -1:1 | |
440 | +123456789:123456789 | |
441 | -123456789:123456789 | |
442 | +123.456789:123456789/1000000 | |
443 | -123456.789:123456789/1000 | |
3cc1ad36 | 444 | |
184f15d5 JH |
445 | &badd |
446 | abc:abc:NaN | |
447 | abc:+0:NaN | |
448 | +0:abc:NaN | |
449 | +inf:-inf:NaN | |
450 | -inf:+inf:NaN | |
451 | +inf:+inf:inf | |
452 | -inf:-inf:-inf | |
453 | baddNaN:+inf:NaN | |
454 | baddNaN:+inf:NaN | |
455 | +inf:baddNaN:NaN | |
456 | -inf:baddNaN:NaN | |
457 | +0:+0:0 | |
458 | +1:+0:1 | |
459 | +0:+1:1 | |
460 | +1:+1:2 | |
461 | -1:+0:-1 | |
462 | +0:-1:-1 | |
463 | -1:-1:-2 | |
464 | -1:+1:0 | |
465 | +1:-1:0 | |
466 | +9:+1:10 | |
467 | +99:+1:100 | |
468 | +999:+1:1000 | |
469 | +9999:+1:10000 | |
470 | +99999:+1:100000 | |
471 | +999999:+1:1000000 | |
472 | +9999999:+1:10000000 | |
473 | +99999999:+1:100000000 | |
474 | +999999999:+1:1000000000 | |
475 | +9999999999:+1:10000000000 | |
476 | +99999999999:+1:100000000000 | |
477 | +10:-1:9 | |
478 | +100:-1:99 | |
479 | +1000:-1:999 | |
480 | +10000:-1:9999 | |
481 | +100000:-1:99999 | |
482 | +1000000:-1:999999 | |
483 | +10000000:-1:9999999 | |
484 | +100000000:-1:99999999 | |
485 | +1000000000:-1:999999999 | |
486 | +10000000000:-1:9999999999 | |
487 | +123456789:+987654321:1111111110 | |
488 | -123456789:+987654321:864197532 | |
489 | -123456789:-987654321:-1111111110 | |
490 | +123456789:-987654321:-864197532 | |
491 | 1/3:1/3:2/3 | |
492 | 2/3:-1/3:1/3 | |
3cc1ad36 | 493 | |
184f15d5 JH |
494 | &bsub |
495 | abc:abc:NaN | |
496 | abc:+0:NaN | |
497 | +0:abc:NaN | |
498 | +inf:-inf:inf | |
499 | -inf:+inf:-inf | |
500 | +inf:+inf:NaN | |
501 | -inf:-inf:NaN | |
502 | baddNaN:+inf:NaN | |
503 | baddNaN:+inf:NaN | |
504 | +inf:baddNaN:NaN | |
505 | -inf:baddNaN:NaN | |
506 | +0:+0:0 | |
507 | +1:+0:1 | |
508 | +0:+1:-1 | |
509 | +1:+1:0 | |
510 | -1:+0:-1 | |
511 | +0:-1:1 | |
512 | -1:-1:0 | |
513 | -1:+1:-2 | |
514 | +1:-1:2 | |
515 | +9:+1:8 | |
516 | +99:+1:98 | |
517 | +999:+1:998 | |
518 | +9999:+1:9998 | |
519 | +99999:+1:99998 | |
520 | +999999:+1:999998 | |
521 | +9999999:+1:9999998 | |
522 | +99999999:+1:99999998 | |
523 | +999999999:+1:999999998 | |
524 | +9999999999:+1:9999999998 | |
525 | +99999999999:+1:99999999998 | |
526 | +10:-1:11 | |
527 | +100:-1:101 | |
528 | +1000:-1:1001 | |
529 | +10000:-1:10001 | |
530 | +100000:-1:100001 | |
531 | +1000000:-1:1000001 | |
532 | +10000000:-1:10000001 | |
533 | +100000000:-1:100000001 | |
534 | +1000000000:-1:1000000001 | |
535 | +10000000000:-1:10000000001 | |
536 | +123456789:+987654321:-864197532 | |
537 | -123456789:+987654321:-1111111110 | |
538 | -123456789:-987654321:864197532 | |
539 | +123456789:-987654321:1111111110 | |
540 | 2/3:1/3:1/3 | |
541 | 7/27:3/54:11/54 | |
542 | -2/3:+2/3:-4/3 | |
543 | -2/3:-2/3:0 | |
7afd7a91 T |
544 | 0:-123:123 |
545 | 0:123:-123 | |
3cc1ad36 | 546 | |
184f15d5 JH |
547 | &bmul |
548 | abc:abc:NaN | |
549 | abc:+0:NaN | |
550 | +0:abc:NaN | |
551 | +inf:NaNmul:NaN | |
552 | +inf:NaNmul:NaN | |
553 | NaNmul:+inf:NaN | |
554 | NaNmul:-inf:NaN | |
555 | +inf:+inf:inf | |
556 | +inf:-inf:-inf | |
557 | +inf:-inf:-inf | |
558 | +inf:+inf:inf | |
559 | +inf:123.34:inf | |
560 | +inf:-123.34:-inf | |
561 | -inf:123.34:-inf | |
562 | -inf:-123.34:inf | |
563 | 123.34:+inf:inf | |
564 | -123.34:+inf:-inf | |
565 | 123.34:-inf:-inf | |
566 | -123.34:-inf:inf | |
567 | +0:+0:0 | |
568 | +0:+1:0 | |
569 | +1:+0:0 | |
570 | +0:-1:0 | |
571 | -1:+0:0 | |
572 | +123456789123456789:+0:0 | |
573 | +0:+123456789123456789:0 | |
574 | -1:-1:1 | |
575 | -1:+1:-1 | |
576 | +1:-1:-1 | |
577 | +1:+1:1 | |
578 | +2:+3:6 | |
579 | -2:+3:-6 | |
580 | +2:-3:-6 | |
581 | -2:-3:6 | |
582 | +111:+111:12321 | |
583 | +10101:+10101:102030201 | |
584 | +1001001:+1001001:1002003002001 | |
585 | +100010001:+100010001:10002000300020001 | |
586 | +10000100001:+10000100001:100002000030000200001 | |
587 | +11111111111:+9:99999999999 | |
588 | +22222222222:+9:199999999998 | |
589 | +33333333333:+9:299999999997 | |
590 | +44444444444:+9:399999999996 | |
591 | +55555555555:+9:499999999995 | |
592 | +66666666666:+9:599999999994 | |
593 | +77777777777:+9:699999999993 | |
594 | +88888888888:+9:799999999992 | |
595 | +99999999999:+9:899999999991 | |
596 | 6:120:720 | |
597 | 10:10000:100000 | |
598 | 1/4:1/3:1/12 | |
3cc1ad36 | 599 | |
3f185657 PJA |
600 | &bdiv-list |
601 | 0:0:NaN,0 | |
602 | 0:1:0,0 | |
603 | 1:0:inf,1 | |
604 | -1:0:-inf,-1 | |
605 | 9:4:2,1 | |
606 | -9:4:-3,3 | |
607 | 9:-4:-3,-3 | |
608 | -9:-4:2,-1 | |
609 | 11/7:2/3:2,5/21 | |
610 | -11/7:2/3:-3,3/7 | |
3cc1ad36 | 611 | |
184f15d5 | 612 | &bdiv |
11c955be | 613 | $div_scale = 40; $round_mode = "even" |
184f15d5 JH |
614 | abc:abc:NaN |
615 | abc:+1:abc:NaN | |
616 | +1:abc:NaN | |
617 | -1:abc:NaN | |
618 | 0:abc:NaN | |
619 | +0:+0:NaN | |
620 | +0:+1:0 | |
621 | +1:+0:inf | |
622 | +3214:+0:inf | |
623 | +0:-1:0 | |
624 | -1:+0:-inf | |
625 | -3214:+0:-inf | |
626 | +1:+1:1 | |
627 | -1:-1:1 | |
628 | +1:-1:-1 | |
629 | -1:+1:-1 | |
630 | +1:+2:1/2 | |
631 | +2:+1:2 | |
632 | 123:+inf:0 | |
633 | 123:-inf:0 | |
634 | +10:+5:2 | |
635 | +100:+4:25 | |
636 | +1000:+8:125 | |
637 | +10000:+16:625 | |
638 | +10000:-16:-625 | |
639 | +999999999999:+9:111111111111 | |
640 | +999999999999:+99:10101010101 | |
641 | +999999999999:+999:1001001001 | |
642 | +999999999999:+9999:100010001 | |
643 | +999999999999999:+99999:10000100001 | |
644 | +1000000000:+9:1000000000/9 | |
645 | +2000000000:+9:2000000000/9 | |
646 | +3000000000:+9:1000000000/3 | |
647 | +4000000000:+9:4000000000/9 | |
648 | +5000000000:+9:5000000000/9 | |
649 | +6000000000:+9:2000000000/3 | |
650 | +7000000000:+9:7000000000/9 | |
651 | +8000000000:+9:8000000000/9 | |
652 | +9000000000:+9:1000000000 | |
653 | +35500000:+113:35500000/113 | |
654 | +71000000:+226:35500000/113 | |
655 | +106500000:+339:35500000/113 | |
656 | +1000000000:+3:1000000000/3 | |
657 | 2:25.024996000799840031993601279744051189762:1000000000000000000000000000000000000000/12512498000399920015996800639872025594881 | |
658 | 123456:1:123456 | |
659 | 1/4:1/3:3/4 | |
660 | # reset scale for further tests | |
661 | $div_scale = 40 | |
3cc1ad36 | 662 | |
184f15d5 JH |
663 | &is_nan |
664 | 123:0 | |
665 | abc:1 | |
666 | NaN:1 | |
667 | -123:0 | |
3cc1ad36 | 668 | |
184f15d5 | 669 | &is_inf |
3cc1ad36 SH |
670 | # without sign argument |
671 | abc:0 | |
672 | NaN:0 | |
673 | +inf:1 | |
674 | -inf:1 | |
675 | -1:0 | |
676 | 0:0 | |
677 | 1:0 | |
678 | # with sign argument "+" | |
679 | abc:+:0 | |
680 | NaN:+:0 | |
184f15d5 | 681 | +inf:+:1 |
184f15d5 | 682 | -inf:+:0 |
3cc1ad36 SH |
683 | -1:+:0 |
684 | 0:+:0 | |
685 | 1:+:0 | |
686 | # with sign argument "-" | |
687 | abc:-:0 | |
688 | NaN:-:0 | |
689 | +inf:-:0 | |
690 | -inf:-:1 | |
691 | -1:-:0 | |
692 | 0:-:0 | |
693 | 1:-:0 | |
694 | +infinity:1 | |
695 | -infinity:1 | |
696 | ||
184f15d5 JH |
697 | &is_odd |
698 | abc:0 | |
699 | 0:0 | |
700 | -1:1 | |
701 | -3:1 | |
702 | 1:1 | |
703 | 3:1 | |
704 | 1000001:1 | |
705 | 1000002:0 | |
706 | +inf:0 | |
707 | -inf:0 | |
708 | 123.45:0 | |
709 | -123.45:0 | |
710 | 2:0 | |
3cc1ad36 | 711 | |
184f15d5 JH |
712 | &is_int |
713 | NaNis_int:0 | |
714 | 0:1 | |
715 | 1:1 | |
716 | 2:1 | |
717 | -2:1 | |
718 | -1:1 | |
719 | -inf:0 | |
720 | +inf:0 | |
721 | 123.4567:0 | |
722 | -0.1:0 | |
723 | -0.002:0 | |
724 | 1/3:0 | |
725 | 3/1:1 | |
3cc1ad36 | 726 | |
184f15d5 JH |
727 | &is_even |
728 | abc:0 | |
729 | 0:1 | |
730 | -1:0 | |
731 | -3:0 | |
732 | 1:0 | |
733 | 3:0 | |
734 | 1000001:0 | |
735 | 1000002:1 | |
736 | 2:1 | |
737 | +inf:0 | |
738 | -inf:0 | |
739 | 123.456:0 | |
740 | -123.456:0 | |
741 | 0.01:0 | |
742 | -0.01:0 | |
743 | 120:1 | |
744 | 1200:1 | |
745 | -1200:1 | |
3cc1ad36 | 746 | |
b68b7ab1 T |
747 | &is_pos |
748 | 0:0 | |
749 | 1:1 | |
750 | -1:0 | |
751 | -123:0 | |
752 | NaN:0 | |
753 | -inf:0 | |
754 | +inf:1 | |
3cc1ad36 | 755 | |
184f15d5 | 756 | &is_positive |
b68b7ab1 | 757 | 0:0 |
184f15d5 JH |
758 | 1:1 |
759 | -1:0 | |
760 | -123:0 | |
761 | NaN:0 | |
762 | -inf:0 | |
763 | +inf:1 | |
3cc1ad36 | 764 | |
b68b7ab1 T |
765 | &is_neg |
766 | 0:0 | |
767 | 1:0 | |
768 | -1:1 | |
769 | -123:1 | |
770 | NaN:0 | |
771 | -inf:1 | |
772 | +inf:0 | |
3cc1ad36 | 773 | |
184f15d5 JH |
774 | &is_negative |
775 | 0:0 | |
776 | 1:0 | |
777 | -1:1 | |
778 | -123:1 | |
779 | NaN:0 | |
780 | -inf:1 | |
781 | +inf:0 | |
3cc1ad36 | 782 | |
a4e2b1c6 JH |
783 | &parts |
784 | 0:0 1 | |
785 | 1:1 1 | |
786 | 123:123 1 | |
787 | -123:-123 1 | |
788 | -1200:-1200 1 | |
789 | 5/7:5 7 | |
790 | -5/7:-5 7 | |
791 | NaNparts:NaN NaN | |
792 | +inf:inf inf | |
793 | -inf:-inf inf | |
3cc1ad36 | 794 | |
12fc2493 AMS |
795 | &length |
796 | 123:3 | |
797 | -123:3 | |
798 | 0:1 | |
799 | 1:1 | |
800 | 12345678901234567890:20 | |
3cc1ad36 | 801 | |
184f15d5 JH |
802 | &is_zero |
803 | NaNzero:0 | |
804 | +inf:0 | |
805 | -inf:0 | |
806 | 0:1 | |
807 | -1:0 | |
808 | 1:0 | |
809 | 0/3:1 | |
810 | 1/3:0 | |
7afd7a91 T |
811 | -0/3:1 |
812 | 5/inf:1 | |
3cc1ad36 | 813 | |
184f15d5 | 814 | &is_one |
3cc1ad36 SH |
815 | # with no sign argument |
816 | invalid:0 | |
817 | NaN:0 | |
184f15d5 JH |
818 | +inf:0 |
819 | -inf:0 | |
3cc1ad36 SH |
820 | -2:0 |
821 | -1:0 | |
184f15d5 | 822 | 0:0 |
184f15d5 | 823 | 1:1 |
184f15d5 | 824 | -2:0 |
3cc1ad36 SH |
825 | # with sign argument "+" |
826 | invalid:+:0 | |
827 | NaN:+:0 | |
828 | +inf:+:0 | |
829 | -inf:+:0 | |
830 | -2:+:0 | |
831 | -1:+:0 | |
832 | 0:+:0 | |
833 | 1:+:1 | |
834 | -2:+:0 | |
835 | # with sign argument "-" | |
836 | invalid:-:0 | |
837 | NaN:-:0 | |
838 | +inf:-:0 | |
839 | -inf:-:0 | |
840 | -2:-:0 | |
841 | -1:-:1 | |
842 | 0:-:0 | |
843 | 1:-:0 | |
844 | -2:-:0 | |
184f15d5 JH |
845 | 1/3:0 |
846 | 100/100:1 | |
847 | 0.1/0.1:1 | |
7afd7a91 | 848 | 5/inf:0 |
3cc1ad36 | 849 | |
184f15d5 JH |
850 | &ffloor |
851 | 0:0 | |
852 | abc:NaN | |
853 | +inf:inf | |
854 | -inf:-inf | |
855 | 1:1 | |
856 | -51:-51 | |
857 | -51.2:-52 | |
858 | 12.2:12 | |
a4e2b1c6 JH |
859 | 3/7:0 |
860 | 6/7:0 | |
861 | 7/7:1 | |
862 | 8/7:1 | |
863 | 13/7:1 | |
864 | 14/7:2 | |
865 | 15/7:2 | |
866 | -3/7:-1 | |
867 | -6/7:-1 | |
868 | -7/1:-7 | |
869 | -8/7:-2 | |
870 | -13/7:-2 | |
871 | -14/7:-2 | |
872 | -15/7:-3 | |
3cc1ad36 | 873 | |
184f15d5 JH |
874 | &fceil |
875 | 0:0 | |
876 | abc:NaN | |
877 | +inf:inf | |
878 | -inf:-inf | |
879 | 1:1 | |
880 | -51:-51 | |
881 | -51.2:-51 | |
882 | 12.2:13 | |
a4e2b1c6 JH |
883 | 3/7:1 |
884 | 6/7:1 | |
885 | 8/7:2 | |
886 | 13/7:2 | |
887 | 14/7:2 | |
888 | 15/7:3 | |
889 | -3/7:0 | |
890 | -6/7:0 | |
891 | -8/7:-1 | |
892 | -13/7:-1 | |
893 | -14/7:-2 | |
894 | -15/7:-2 | |
3cc1ad36 | 895 | |
a4e2b1c6 JH |
896 | &ffac |
897 | NaN:NaN | |
898 | 1:1 | |
899 | -1:NaN | |
3cc1ad36 | 900 | |
a4e2b1c6 | 901 | &bpow |
3cc1ad36 SH |
902 | # |
903 | abc:123:NaN | |
904 | 123:abc:NaN | |
905 | # | |
906 | -inf:-inf:0 | |
907 | -inf:-3:0 | |
908 | -inf:-2:0 | |
909 | -inf:-3/2:0 | |
910 | -inf:-1:0 | |
911 | -inf:-1/2:0 | |
912 | -inf:0:NaN | |
913 | -inf:1/2:inf # directed infinity | |
914 | -inf:1:-inf | |
915 | -inf:3/2:inf # directed infinity | |
916 | -inf:2:inf | |
917 | -inf:3:-inf | |
918 | -inf:inf:inf # complex infinity | |
919 | -inf:NaN:NaN | |
920 | # | |
921 | -3:-inf:0 | |
922 | -3:-3:-1/27 | |
923 | -3:-2:1/9 | |
924 | -3:-3/2:NaN | |
925 | -3:-1:-1/3 | |
926 | -3:-1/2:NaN | |
927 | -3:0:1 | |
928 | -3:1/2:NaN | |
929 | -3:1:-3 | |
930 | -3:3/2:NaN | |
931 | -3:2:9 | |
932 | -3:3:-27 | |
933 | -3:inf:inf # complex infinity | |
934 | -3:NaN:NaN | |
935 | # | |
936 | -2:-inf:0 | |
937 | -2:-3:-1/8 | |
938 | -2:-2:1/4 | |
939 | -2:-3/2:NaN | |
940 | -2:-1:-1/2 | |
941 | -2:-1/2:NaN | |
942 | -2:0:1 | |
943 | -2:1/2:NaN | |
944 | -2:1:-2 | |
945 | -2:3/2:NaN | |
946 | -2:2:4 | |
947 | -2:3:-8 | |
948 | -2:inf:inf # complex infinity | |
949 | -2:NaN:NaN | |
950 | # | |
951 | -3/2:-inf:0 | |
952 | -3/2:-3:-8/27 | |
953 | -3/2:-2:4/9 | |
954 | -3/2:-3/2:NaN | |
955 | -3/2:-1:-2/3 | |
956 | -3/2:-1/2:NaN | |
957 | -3/2:0:1 | |
958 | -3/2:1/2:NaN | |
959 | -3/2:1:-3/2 | |
960 | -3/2:3/2:NaN | |
961 | -3/2:2:9/4 | |
962 | -3/2:3:-27/8 | |
963 | -3/2:inf:inf # complex infinity | |
964 | -3/2:NaN:NaN | |
965 | # | |
966 | -1:-inf:NaN | |
967 | -1:-3:-1 | |
968 | -1:-2:1 | |
969 | -1:-3/2:NaN | |
970 | -1:-1:-1 | |
971 | -1:-1/2:NaN | |
972 | -1:0:1 | |
973 | -1:1/2:NaN | |
974 | -1:1:-1 | |
975 | -1:3/2:NaN | |
976 | -1:2:1 | |
977 | -1:3:-1 | |
978 | -1:inf:NaN | |
979 | -1:NaN:NaN | |
980 | # | |
981 | -1/2:-inf:inf # complex infinity | |
982 | -1/2:-3:-8 | |
983 | -1/2:-2:4 | |
984 | -1/2:-3/2:NaN | |
985 | -1/2:-1:-2 | |
986 | -1/2:-1/2:NaN | |
987 | -1/2:0:1 | |
988 | -1/2:1/2:NaN | |
989 | -1/2:1:-1/2 | |
990 | -1/2:3/2:NaN | |
991 | -1/2:2:1/4 | |
992 | -1/2:3:-1/8 | |
993 | -1/2:inf:0 | |
994 | -1/2:NaN:NaN | |
995 | # | |
996 | 0:-inf:inf # complex infinity | |
997 | 0:-3:inf # complex infinity | |
998 | 0:-2:inf # complex infinity | |
999 | 0:-3/2:inf # complex infinity | |
1000 | 0:-1:inf # complex infinity | |
1001 | 0:-1/2:inf # complex infinity | |
1002 | 0:0:1 | |
1003 | 0:1/2:0 | |
1004 | 0:1:0 | |
1005 | 0:3/2:0 | |
1006 | 0:2:0 | |
1007 | 0:3:0 | |
1008 | 0:inf:0 | |
1009 | 0:NaN:NaN | |
1010 | # | |
1011 | 1/2:-inf:inf | |
1012 | 1/2:-3:8 | |
1013 | 1/2:-2:4 | |
1014 | #1/2:-3/2:2.828427124746190097603377448419396157139 | |
1015 | 1/2:-1:2 | |
1016 | #1/2:-1/2:1.41421356237309504880168872420969807857 | |
1017 | 1/2:0:1 | |
1018 | #1/2:1/2:0.7071067811865475244008443621048490392848 | |
1019 | 1/2:1:1/2 | |
1020 | #1/2:3/2:0.3535533905932737622004221810524245196424 | |
1021 | 1/2:2:1/4 | |
1022 | 1/2:3:1/8 | |
1023 | 1/2:inf:0 | |
1024 | 1/2:NaN:NaN | |
1025 | # | |
1026 | 1:-inf:1 | |
1027 | 1:-3:1 | |
1028 | 1:-2:1 | |
1029 | 1:-3/2:1 | |
1030 | 1:-1:1 | |
1031 | 1:-1/2:1 | |
1032 | 1:0:1 | |
1033 | 1:1/2:1 | |
1034 | 1:1:1 | |
1035 | 1:3/2:1 | |
1036 | 1:2:1 | |
1037 | 1:3:1 | |
1038 | 1:inf:1 | |
1039 | 1:NaN:NaN | |
1040 | # | |
1041 | 3/2:-inf:0 | |
1042 | 3/2:-3:8/27 | |
1043 | 3/2:-2:4/9 | |
1044 | #3/2:-3/2:0.5443310539518173551549520166013091982147 | |
1045 | 3/2:-1:2/3 | |
1046 | #3/2:-1/2:0.816496580927726032732428024901963797322 | |
1047 | 3/2:0:1 | |
1048 | #3/2:1/2:1.224744871391589049098642037352945695983 | |
1049 | 3/2:1:3/2 | |
1050 | #3/2:3/2:1.837117307087383573647963056029418543974 | |
1051 | 3/2:2:9/4 | |
1052 | 3/2:3:27/8 | |
1053 | 3/2:inf:inf | |
1054 | 3/2:NaN:NaN | |
1055 | # | |
1056 | 2:-inf:0 | |
1057 | 2:-3:1/8 | |
1058 | 2:-2:1/4 | |
1059 | #2:-3/2:0.3535533905932737622004221810524245196424 | |
1060 | 2:-1:1/2 | |
1061 | #2:-1/2:0.7071067811865475244008443621048490392848 | |
1062 | 2:0:1 | |
1063 | #2:1/2:1.41421356237309504880168872420969807857 | |
1064 | 2:1:2 | |
1065 | #2:3/2:2.828427124746190097603377448419396157139 | |
a4e2b1c6 | 1066 | 2:2:4 |
3cc1ad36 SH |
1067 | 2:3:8 |
1068 | 2:inf:inf | |
1069 | 2:NaN:NaN | |
1070 | # | |
1071 | 3:-inf:0 | |
1072 | 3:-3:1/27 | |
1073 | 3:-2:1/9 | |
1074 | #3:-3/2:0.1924500897298752548363829268339858185492 | |
1075 | 3:-1:1/3 | |
1076 | #3:-1/2:0.5773502691896257645091487805019574556476 | |
1077 | 3:0:1 | |
1078 | #3:1/2:1.732050807568877293527446341505872366943 | |
1079 | 3:1:3 | |
1080 | #3:3/2:5.196152422706631880582339024517617100828 | |
1081 | 3:2:9 | |
a4e2b1c6 | 1082 | 3:3:27 |
3cc1ad36 SH |
1083 | 3:inf:inf |
1084 | 3:NaN:NaN | |
1085 | # | |
1086 | inf:-inf:0 | |
1087 | inf:-3:0 | |
1088 | inf:-2:0 | |
1089 | inf:-3/2:0 | |
1090 | inf:-1:0 | |
1091 | inf:-1/2:0 | |
1092 | inf:0:NaN | |
1093 | inf:1/2:inf | |
1094 | inf:1:inf | |
1095 | inf:3/2:inf | |
1096 | inf:2:inf | |
1097 | inf:3:inf | |
1098 | inf:inf:inf | |
1099 | inf:NaN:NaN | |
1100 | # | |
1101 | NaN:-inf:NaN | |
1102 | NaN:-3:NaN | |
1103 | NaN:-2:NaN | |
1104 | NaN:-3/2:NaN | |
1105 | NaN:-1:NaN | |
1106 | NaN:-1/2:NaN | |
1107 | NaN:0:NaN | |
1108 | NaN:1/2:NaN | |
1109 | NaN:1:NaN | |
1110 | NaN:3/2:NaN | |
1111 | NaN:2:NaN | |
1112 | NaN:3:NaN | |
1113 | NaN:inf:NaN | |
1114 | NaN:NaN:NaN | |
1115 | ||
7afd7a91 T |
1116 | &bacmp |
1117 | +0:-0:0 | |
1118 | +0:+1:-1 | |
1119 | -1:+1:0 | |
1120 | +1:-1:0 | |
1121 | -1:+2:-1 | |
1122 | +2:-1:1 | |
1123 | -123456789:+987654321:-1 | |
1124 | +123456789:-987654321:-1 | |
1125 | +987654321:+123456789:1 | |
1126 | -987654321:+123456789:1 | |
1127 | -123:+4567889:-1 | |
1128 | # NaNs | |
1129 | acmpNaN:123: | |
1130 | 123:acmpNaN: | |
1131 | acmpNaN:acmpNaN: | |
1132 | # infinity | |
1133 | +inf:+inf:0 | |
1134 | -inf:-inf:0 | |
1135 | +inf:-inf:0 | |
1136 | -inf:+inf:0 | |
1137 | +inf:123:1 | |
1138 | -inf:123:1 | |
1139 | +inf:-123:1 | |
1140 | -inf:-123:1 | |
1141 | +inf:1/23:1 | |
1142 | -inf:1/23:1 | |
1143 | +inf:-1/23:1 | |
1144 | -inf:-1/23:1 | |
1145 | +inf:12/3:1 | |
1146 | -inf:12/3:1 | |
1147 | +inf:-12/3:1 | |
1148 | -inf:-12/3:1 | |
1149 | 123:inf:-1 | |
1150 | -123:inf:-1 | |
1151 | 123:-inf:-1 | |
1152 | -123:-inf:-1 | |
1153 | 1/23:inf:-1 | |
1154 | -1/23:inf:-1 | |
1155 | 1/23:-inf:-1 | |
1156 | -1/23:-inf:-1 | |
1157 | 12/3:inf:-1 | |
1158 | -12/3:inf:-1 | |
1159 | 12/3:-inf:-1 | |
1160 | -12/3:-inf:-1 | |
1161 | # return undef | |
1162 | +inf:NaN: | |
1163 | NaN:inf: | |
1164 | -inf:NaN: | |
1165 | NaN:-inf: | |
1166 | 1/3:2/3:-1 | |
1167 | 2/3:1/3:1 | |
1168 | 2/3:2/3:0 | |
3cc1ad36 | 1169 | |
a4e2b1c6 JH |
1170 | &numerator |
1171 | NaN:NaN | |
1172 | inf:inf | |
1173 | -inf:-inf | |
1174 | 3/7:3 | |
1175 | -3/7:-3 | |
1176 | 0:0 | |
1177 | 1:1 | |
12fc2493 | 1178 | 5/-3:-5 |
3cc1ad36 | 1179 | |
a4e2b1c6 JH |
1180 | &denominator |
1181 | NaN:NaN | |
12fc2493 AMS |
1182 | inf:1 |
1183 | -inf:1 | |
a4e2b1c6 JH |
1184 | 3/7:7 |
1185 | 0:1 | |
1186 | 1/1:1 | |
12fc2493 | 1187 | -1/1:1 |
a4e2b1c6 | 1188 | -3/7:7 |
12fc2493 | 1189 | 4/-5:5 |
3cc1ad36 | 1190 | |
a4e2b1c6 JH |
1191 | &finc |
1192 | 3/2:5/2 | |
1193 | -15/6:-3/2 | |
1194 | NaN:NaN | |
1195 | -1/3:2/3 | |
1196 | -2/7:5/7 | |
3cc1ad36 | 1197 | |
a4e2b1c6 JH |
1198 | &fdec |
1199 | 15/6:3/2 | |
1200 | -3/2:-5/2 | |
1201 | 1/3:-2/3 | |
1202 | 2/7:-5/7 | |
1203 | NaN:NaN | |
3cc1ad36 | 1204 | |
11c955be SH |
1205 | &log |
1206 | -1:NaN | |
1207 | 0:-inf | |
1208 | 1:0 | |
1209 | 34803:3267955896544848894312057422508991/312500000000000000000000000000000 | |
1210 | -inf:inf | |
1211 | inf:inf | |
1212 | NaN:NaN | |
3cc1ad36 | 1213 | |
11c955be | 1214 | &exp |
3cc1ad36 | 1215 | |
11c955be | 1216 | &sin |
3cc1ad36 | 1217 | |
11c955be | 1218 | &cos |
3cc1ad36 | 1219 | |
11c955be | 1220 | &atan2 |
3cc1ad36 | 1221 | |
11c955be | 1222 | &int |
3cc1ad36 | 1223 | |
11c955be | 1224 | &abs |
3cc1ad36 | 1225 | |
11c955be | 1226 | &sqrt |