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 | |
990fb837 | 321 | NaN:NaN |
93c87d9d T |
322 | +inf:inf |
323 | -inf:-inf | |
3cc1ad36 | 324 | |
184f15d5 JH |
325 | &fnan |
326 | abc:NaN | |
327 | 2:NaN | |
328 | -2:NaN | |
329 | 0:NaN | |
3cc1ad36 | 330 | |
184f15d5 JH |
331 | &fone |
332 | 2:+:1 | |
333 | -2:-:-1 | |
334 | -2:+:1 | |
335 | 2:-:-1 | |
336 | 0::1 | |
337 | -2::1 | |
338 | abc::1 | |
339 | 2:abc:1 | |
3cc1ad36 | 340 | |
184f15d5 JH |
341 | &fsstr |
342 | +inf:inf | |
343 | -inf:-inf | |
344 | abcfsstr:NaN | |
345 | 1:1/1 | |
346 | 3/1:3/1 | |
347 | 0.1:1/10 | |
3cc1ad36 | 348 | |
184f15d5 JH |
349 | &bnorm |
350 | 1:1 | |
351 | -0:0 | |
352 | bnormNaN:NaN | |
353 | +inf:inf | |
354 | -inf:-inf | |
7afd7a91 T |
355 | inf/inf:NaN |
356 | 5/inf:0 | |
357 | 5/-inf:0 | |
358 | inf/5:inf | |
359 | -inf/5:-inf | |
360 | inf/-5:-inf | |
361 | -inf/-5:inf | |
184f15d5 JH |
362 | 123:123 |
363 | -123.4567:-1234567/10000 | |
364 | # invalid inputs | |
365 | 1__2:NaN | |
366 | 1E1__2:NaN | |
367 | 11__2E2:NaN | |
368 | #1.E3:NaN | |
369 | .2E-3.:NaN | |
370 | #1e3e4:NaN | |
371 | .2E2:20 | |
372 | inf:inf | |
373 | +inf:inf | |
374 | -inf:-inf | |
11c955be | 375 | +InFiNiTy:inf |
184f15d5 JH |
376 | +-inf:NaN |
377 | abc:NaN | |
378 | 1 a:NaN | |
379 | 1bcd2:NaN | |
380 | 11111b:NaN | |
381 | +1z:NaN | |
382 | -1z:NaN | |
383 | 0:0 | |
384 | +0:0 | |
385 | +00:0 | |
386 | +0_0_0:0 | |
387 | 000000_0000000_00000:0 | |
388 | -0:0 | |
389 | -0000:0 | |
390 | +1:1 | |
391 | +01:1 | |
392 | +001:1 | |
393 | +00000100000:100000 | |
12fc2493 AMS |
394 | +00000800/00000010:80 |
395 | -00000800/00000010:-80 | |
396 | +00000800/-00000010:-80 | |
397 | -00000800/-00000010:80 | |
184f15d5 JH |
398 | 123456789:123456789 |
399 | -1:-1 | |
400 | -01:-1 | |
401 | -001:-1 | |
402 | -123456789:-123456789 | |
403 | -00000100000:-100000 | |
404 | 123.456a:NaN | |
405 | 123.456:15432/125 | |
406 | 0.01:1/100 | |
407 | .002:1/500 | |
408 | +.2:1/5 | |
409 | -0.0003:-3/10000 | |
410 | -.0000000004:-1/2500000000 | |
411 | 123456E2:12345600 | |
412 | 123456E-2:30864/25 | |
413 | -123456E2:-12345600 | |
414 | -123456E-2:-30864/25 | |
415 | 1e1:10 | |
416 | 2e-11:1/50000000000 | |
417 | 12/10:6/5 | |
418 | 0.1/0.1:1 | |
419 | 100/0.1:1000 | |
420 | 0.1/10:1/100 | |
421 | 1 / 3:1/3 | |
422 | 1/ 3:1/3 | |
423 | 1 /3:1/3 | |
3cc1ad36 | 424 | |
184f15d5 JH |
425 | &fneg |
426 | fnegNaN:NaN | |
427 | +inf:-inf | |
428 | -inf:inf | |
429 | +0:0 | |
430 | +1:-1 | |
431 | -1:1 | |
432 | +123456789:-123456789 | |
433 | -123456789:123456789 | |
434 | +123.456789:-123456789/1000000 | |
435 | -123456.789:123456789/1000 | |
b68b7ab1 T |
436 | 123/7:-123/7 |
437 | -123/7:123/7 | |
438 | 123/-7:123/7 | |
3cc1ad36 | 439 | |
184f15d5 JH |
440 | &fabs |
441 | fabsNaN:NaN | |
442 | +inf:inf | |
443 | -inf:inf | |
444 | +0:0 | |
445 | +1:1 | |
446 | -1:1 | |
447 | +123456789:123456789 | |
448 | -123456789:123456789 | |
449 | +123.456789:123456789/1000000 | |
450 | -123456.789:123456789/1000 | |
3cc1ad36 | 451 | |
184f15d5 JH |
452 | &badd |
453 | abc:abc:NaN | |
454 | abc:+0:NaN | |
455 | +0:abc:NaN | |
456 | +inf:-inf:NaN | |
457 | -inf:+inf:NaN | |
458 | +inf:+inf:inf | |
459 | -inf:-inf:-inf | |
460 | baddNaN:+inf:NaN | |
461 | baddNaN:+inf:NaN | |
462 | +inf:baddNaN:NaN | |
463 | -inf:baddNaN:NaN | |
464 | +0:+0:0 | |
465 | +1:+0:1 | |
466 | +0:+1:1 | |
467 | +1:+1:2 | |
468 | -1:+0:-1 | |
469 | +0:-1:-1 | |
470 | -1:-1:-2 | |
471 | -1:+1:0 | |
472 | +1:-1:0 | |
473 | +9:+1:10 | |
474 | +99:+1:100 | |
475 | +999:+1:1000 | |
476 | +9999:+1:10000 | |
477 | +99999:+1:100000 | |
478 | +999999:+1:1000000 | |
479 | +9999999:+1:10000000 | |
480 | +99999999:+1:100000000 | |
481 | +999999999:+1:1000000000 | |
482 | +9999999999:+1:10000000000 | |
483 | +99999999999:+1:100000000000 | |
484 | +10:-1:9 | |
485 | +100:-1:99 | |
486 | +1000:-1:999 | |
487 | +10000:-1:9999 | |
488 | +100000:-1:99999 | |
489 | +1000000:-1:999999 | |
490 | +10000000:-1:9999999 | |
491 | +100000000:-1:99999999 | |
492 | +1000000000:-1:999999999 | |
493 | +10000000000:-1:9999999999 | |
494 | +123456789:+987654321:1111111110 | |
495 | -123456789:+987654321:864197532 | |
496 | -123456789:-987654321:-1111111110 | |
497 | +123456789:-987654321:-864197532 | |
498 | 1/3:1/3:2/3 | |
499 | 2/3:-1/3:1/3 | |
3cc1ad36 | 500 | |
184f15d5 JH |
501 | &bsub |
502 | abc:abc:NaN | |
503 | abc:+0:NaN | |
504 | +0:abc:NaN | |
505 | +inf:-inf:inf | |
506 | -inf:+inf:-inf | |
507 | +inf:+inf:NaN | |
508 | -inf:-inf:NaN | |
509 | baddNaN:+inf:NaN | |
510 | baddNaN:+inf:NaN | |
511 | +inf:baddNaN:NaN | |
512 | -inf:baddNaN:NaN | |
513 | +0:+0:0 | |
514 | +1:+0:1 | |
515 | +0:+1:-1 | |
516 | +1:+1:0 | |
517 | -1:+0:-1 | |
518 | +0:-1:1 | |
519 | -1:-1:0 | |
520 | -1:+1:-2 | |
521 | +1:-1:2 | |
522 | +9:+1:8 | |
523 | +99:+1:98 | |
524 | +999:+1:998 | |
525 | +9999:+1:9998 | |
526 | +99999:+1:99998 | |
527 | +999999:+1:999998 | |
528 | +9999999:+1:9999998 | |
529 | +99999999:+1:99999998 | |
530 | +999999999:+1:999999998 | |
531 | +9999999999:+1:9999999998 | |
532 | +99999999999:+1:99999999998 | |
533 | +10:-1:11 | |
534 | +100:-1:101 | |
535 | +1000:-1:1001 | |
536 | +10000:-1:10001 | |
537 | +100000:-1:100001 | |
538 | +1000000:-1:1000001 | |
539 | +10000000:-1:10000001 | |
540 | +100000000:-1:100000001 | |
541 | +1000000000:-1:1000000001 | |
542 | +10000000000:-1:10000000001 | |
543 | +123456789:+987654321:-864197532 | |
544 | -123456789:+987654321:-1111111110 | |
545 | -123456789:-987654321:864197532 | |
546 | +123456789:-987654321:1111111110 | |
547 | 2/3:1/3:1/3 | |
548 | 7/27:3/54:11/54 | |
549 | -2/3:+2/3:-4/3 | |
550 | -2/3:-2/3:0 | |
7afd7a91 T |
551 | 0:-123:123 |
552 | 0:123:-123 | |
3cc1ad36 | 553 | |
184f15d5 JH |
554 | &bmul |
555 | abc:abc:NaN | |
556 | abc:+0:NaN | |
557 | +0:abc:NaN | |
558 | +inf:NaNmul:NaN | |
559 | +inf:NaNmul:NaN | |
560 | NaNmul:+inf:NaN | |
561 | NaNmul:-inf:NaN | |
562 | +inf:+inf:inf | |
563 | +inf:-inf:-inf | |
564 | +inf:-inf:-inf | |
565 | +inf:+inf:inf | |
566 | +inf:123.34:inf | |
567 | +inf:-123.34:-inf | |
568 | -inf:123.34:-inf | |
569 | -inf:-123.34:inf | |
570 | 123.34:+inf:inf | |
571 | -123.34:+inf:-inf | |
572 | 123.34:-inf:-inf | |
573 | -123.34:-inf:inf | |
574 | +0:+0:0 | |
575 | +0:+1:0 | |
576 | +1:+0:0 | |
577 | +0:-1:0 | |
578 | -1:+0:0 | |
579 | +123456789123456789:+0:0 | |
580 | +0:+123456789123456789:0 | |
581 | -1:-1:1 | |
582 | -1:+1:-1 | |
583 | +1:-1:-1 | |
584 | +1:+1:1 | |
585 | +2:+3:6 | |
586 | -2:+3:-6 | |
587 | +2:-3:-6 | |
588 | -2:-3:6 | |
589 | +111:+111:12321 | |
590 | +10101:+10101:102030201 | |
591 | +1001001:+1001001:1002003002001 | |
592 | +100010001:+100010001:10002000300020001 | |
593 | +10000100001:+10000100001:100002000030000200001 | |
594 | +11111111111:+9:99999999999 | |
595 | +22222222222:+9:199999999998 | |
596 | +33333333333:+9:299999999997 | |
597 | +44444444444:+9:399999999996 | |
598 | +55555555555:+9:499999999995 | |
599 | +66666666666:+9:599999999994 | |
600 | +77777777777:+9:699999999993 | |
601 | +88888888888:+9:799999999992 | |
602 | +99999999999:+9:899999999991 | |
603 | 6:120:720 | |
604 | 10:10000:100000 | |
605 | 1/4:1/3:1/12 | |
3cc1ad36 | 606 | |
3f185657 PJA |
607 | &bdiv-list |
608 | 0:0:NaN,0 | |
609 | 0:1:0,0 | |
610 | 1:0:inf,1 | |
611 | -1:0:-inf,-1 | |
612 | 9:4:2,1 | |
613 | -9:4:-3,3 | |
614 | 9:-4:-3,-3 | |
615 | -9:-4:2,-1 | |
616 | 11/7:2/3:2,5/21 | |
617 | -11/7:2/3:-3,3/7 | |
3cc1ad36 | 618 | |
184f15d5 | 619 | &bdiv |
11c955be | 620 | $div_scale = 40; $round_mode = "even" |
184f15d5 JH |
621 | abc:abc:NaN |
622 | abc:+1:abc:NaN | |
623 | +1:abc:NaN | |
624 | -1:abc:NaN | |
625 | 0:abc:NaN | |
626 | +0:+0:NaN | |
627 | +0:+1:0 | |
628 | +1:+0:inf | |
629 | +3214:+0:inf | |
630 | +0:-1:0 | |
631 | -1:+0:-inf | |
632 | -3214:+0:-inf | |
633 | +1:+1:1 | |
634 | -1:-1:1 | |
635 | +1:-1:-1 | |
636 | -1:+1:-1 | |
637 | +1:+2:1/2 | |
638 | +2:+1:2 | |
639 | 123:+inf:0 | |
640 | 123:-inf:0 | |
641 | +10:+5:2 | |
642 | +100:+4:25 | |
643 | +1000:+8:125 | |
644 | +10000:+16:625 | |
645 | +10000:-16:-625 | |
646 | +999999999999:+9:111111111111 | |
647 | +999999999999:+99:10101010101 | |
648 | +999999999999:+999:1001001001 | |
649 | +999999999999:+9999:100010001 | |
650 | +999999999999999:+99999:10000100001 | |
651 | +1000000000:+9:1000000000/9 | |
652 | +2000000000:+9:2000000000/9 | |
653 | +3000000000:+9:1000000000/3 | |
654 | +4000000000:+9:4000000000/9 | |
655 | +5000000000:+9:5000000000/9 | |
656 | +6000000000:+9:2000000000/3 | |
657 | +7000000000:+9:7000000000/9 | |
658 | +8000000000:+9:8000000000/9 | |
659 | +9000000000:+9:1000000000 | |
660 | +35500000:+113:35500000/113 | |
661 | +71000000:+226:35500000/113 | |
662 | +106500000:+339:35500000/113 | |
663 | +1000000000:+3:1000000000/3 | |
664 | 2:25.024996000799840031993601279744051189762:1000000000000000000000000000000000000000/12512498000399920015996800639872025594881 | |
665 | 123456:1:123456 | |
666 | 1/4:1/3:3/4 | |
667 | # reset scale for further tests | |
668 | $div_scale = 40 | |
3cc1ad36 | 669 | |
184f15d5 JH |
670 | &is_nan |
671 | 123:0 | |
672 | abc:1 | |
673 | NaN:1 | |
674 | -123:0 | |
3cc1ad36 | 675 | |
184f15d5 | 676 | &is_inf |
3cc1ad36 SH |
677 | # without sign argument |
678 | abc:0 | |
679 | NaN:0 | |
680 | +inf:1 | |
681 | -inf:1 | |
682 | -1:0 | |
683 | 0:0 | |
684 | 1:0 | |
685 | # with sign argument "+" | |
686 | abc:+:0 | |
687 | NaN:+:0 | |
184f15d5 | 688 | +inf:+:1 |
184f15d5 | 689 | -inf:+:0 |
3cc1ad36 SH |
690 | -1:+:0 |
691 | 0:+:0 | |
692 | 1:+:0 | |
693 | # with sign argument "-" | |
694 | abc:-:0 | |
695 | NaN:-:0 | |
696 | +inf:-:0 | |
697 | -inf:-:1 | |
698 | -1:-:0 | |
699 | 0:-:0 | |
700 | 1:-:0 | |
701 | +infinity:1 | |
702 | -infinity:1 | |
703 | ||
184f15d5 JH |
704 | &is_odd |
705 | abc:0 | |
706 | 0:0 | |
707 | -1:1 | |
708 | -3:1 | |
709 | 1:1 | |
710 | 3:1 | |
711 | 1000001:1 | |
712 | 1000002:0 | |
713 | +inf:0 | |
714 | -inf:0 | |
715 | 123.45:0 | |
716 | -123.45:0 | |
717 | 2:0 | |
3cc1ad36 | 718 | |
184f15d5 JH |
719 | &is_int |
720 | NaNis_int:0 | |
721 | 0:1 | |
722 | 1:1 | |
723 | 2:1 | |
724 | -2:1 | |
725 | -1:1 | |
726 | -inf:0 | |
727 | +inf:0 | |
728 | 123.4567:0 | |
729 | -0.1:0 | |
730 | -0.002:0 | |
731 | 1/3:0 | |
732 | 3/1:1 | |
3cc1ad36 | 733 | |
184f15d5 JH |
734 | &is_even |
735 | abc:0 | |
736 | 0:1 | |
737 | -1:0 | |
738 | -3:0 | |
739 | 1:0 | |
740 | 3:0 | |
741 | 1000001:0 | |
742 | 1000002:1 | |
743 | 2:1 | |
744 | +inf:0 | |
745 | -inf:0 | |
746 | 123.456:0 | |
747 | -123.456:0 | |
748 | 0.01:0 | |
749 | -0.01:0 | |
750 | 120:1 | |
751 | 1200:1 | |
752 | -1200:1 | |
3cc1ad36 | 753 | |
b68b7ab1 T |
754 | &is_pos |
755 | 0:0 | |
756 | 1:1 | |
757 | -1:0 | |
758 | -123:0 | |
759 | NaN:0 | |
760 | -inf:0 | |
761 | +inf:1 | |
3cc1ad36 | 762 | |
184f15d5 | 763 | &is_positive |
b68b7ab1 | 764 | 0:0 |
184f15d5 JH |
765 | 1:1 |
766 | -1:0 | |
767 | -123:0 | |
768 | NaN:0 | |
769 | -inf:0 | |
770 | +inf:1 | |
3cc1ad36 | 771 | |
b68b7ab1 T |
772 | &is_neg |
773 | 0:0 | |
774 | 1:0 | |
775 | -1:1 | |
776 | -123:1 | |
777 | NaN:0 | |
778 | -inf:1 | |
779 | +inf:0 | |
3cc1ad36 | 780 | |
184f15d5 JH |
781 | &is_negative |
782 | 0:0 | |
783 | 1:0 | |
784 | -1:1 | |
785 | -123:1 | |
786 | NaN:0 | |
787 | -inf:1 | |
788 | +inf:0 | |
3cc1ad36 | 789 | |
a4e2b1c6 JH |
790 | &parts |
791 | 0:0 1 | |
792 | 1:1 1 | |
793 | 123:123 1 | |
794 | -123:-123 1 | |
795 | -1200:-1200 1 | |
796 | 5/7:5 7 | |
797 | -5/7:-5 7 | |
798 | NaNparts:NaN NaN | |
799 | +inf:inf inf | |
800 | -inf:-inf inf | |
3cc1ad36 | 801 | |
12fc2493 AMS |
802 | &length |
803 | 123:3 | |
804 | -123:3 | |
805 | 0:1 | |
806 | 1:1 | |
807 | 12345678901234567890:20 | |
3cc1ad36 | 808 | |
184f15d5 JH |
809 | &is_zero |
810 | NaNzero:0 | |
811 | +inf:0 | |
812 | -inf:0 | |
813 | 0:1 | |
814 | -1:0 | |
815 | 1:0 | |
816 | 0/3:1 | |
817 | 1/3:0 | |
7afd7a91 T |
818 | -0/3:1 |
819 | 5/inf:1 | |
3cc1ad36 | 820 | |
184f15d5 | 821 | &is_one |
3cc1ad36 SH |
822 | # with no sign argument |
823 | invalid:0 | |
824 | NaN:0 | |
184f15d5 JH |
825 | +inf:0 |
826 | -inf:0 | |
3cc1ad36 SH |
827 | -2:0 |
828 | -1:0 | |
184f15d5 | 829 | 0:0 |
184f15d5 | 830 | 1:1 |
184f15d5 | 831 | -2:0 |
3cc1ad36 SH |
832 | # with sign argument "+" |
833 | invalid:+:0 | |
834 | NaN:+:0 | |
835 | +inf:+:0 | |
836 | -inf:+:0 | |
837 | -2:+:0 | |
838 | -1:+:0 | |
839 | 0:+:0 | |
840 | 1:+:1 | |
841 | -2:+:0 | |
842 | # with sign argument "-" | |
843 | invalid:-:0 | |
844 | NaN:-:0 | |
845 | +inf:-:0 | |
846 | -inf:-:0 | |
847 | -2:-:0 | |
848 | -1:-:1 | |
849 | 0:-:0 | |
850 | 1:-:0 | |
851 | -2:-:0 | |
184f15d5 JH |
852 | 1/3:0 |
853 | 100/100:1 | |
854 | 0.1/0.1:1 | |
7afd7a91 | 855 | 5/inf:0 |
3cc1ad36 | 856 | |
184f15d5 JH |
857 | &ffloor |
858 | 0:0 | |
859 | abc:NaN | |
860 | +inf:inf | |
861 | -inf:-inf | |
862 | 1:1 | |
863 | -51:-51 | |
864 | -51.2:-52 | |
865 | 12.2:12 | |
a4e2b1c6 JH |
866 | 3/7:0 |
867 | 6/7:0 | |
868 | 7/7:1 | |
869 | 8/7:1 | |
870 | 13/7:1 | |
871 | 14/7:2 | |
872 | 15/7:2 | |
873 | -3/7:-1 | |
874 | -6/7:-1 | |
875 | -7/1:-7 | |
876 | -8/7:-2 | |
877 | -13/7:-2 | |
878 | -14/7:-2 | |
879 | -15/7:-3 | |
3cc1ad36 | 880 | |
184f15d5 JH |
881 | &fceil |
882 | 0:0 | |
883 | abc:NaN | |
884 | +inf:inf | |
885 | -inf:-inf | |
886 | 1:1 | |
887 | -51:-51 | |
888 | -51.2:-51 | |
889 | 12.2:13 | |
a4e2b1c6 JH |
890 | 3/7:1 |
891 | 6/7:1 | |
892 | 8/7:2 | |
893 | 13/7:2 | |
894 | 14/7:2 | |
895 | 15/7:3 | |
896 | -3/7:0 | |
897 | -6/7:0 | |
898 | -8/7:-1 | |
899 | -13/7:-1 | |
900 | -14/7:-2 | |
901 | -15/7:-2 | |
3cc1ad36 | 902 | |
a4e2b1c6 JH |
903 | &ffac |
904 | NaN:NaN | |
905 | 1:1 | |
906 | -1:NaN | |
3cc1ad36 | 907 | |
a4e2b1c6 | 908 | &bpow |
3cc1ad36 SH |
909 | # |
910 | abc:123:NaN | |
911 | 123:abc:NaN | |
912 | # | |
913 | -inf:-inf:0 | |
914 | -inf:-3:0 | |
915 | -inf:-2:0 | |
916 | -inf:-3/2:0 | |
917 | -inf:-1:0 | |
918 | -inf:-1/2:0 | |
919 | -inf:0:NaN | |
920 | -inf:1/2:inf # directed infinity | |
921 | -inf:1:-inf | |
922 | -inf:3/2:inf # directed infinity | |
923 | -inf:2:inf | |
924 | -inf:3:-inf | |
925 | -inf:inf:inf # complex infinity | |
926 | -inf:NaN:NaN | |
927 | # | |
928 | -3:-inf:0 | |
929 | -3:-3:-1/27 | |
930 | -3:-2:1/9 | |
931 | -3:-3/2:NaN | |
932 | -3:-1:-1/3 | |
933 | -3:-1/2:NaN | |
934 | -3:0:1 | |
935 | -3:1/2:NaN | |
936 | -3:1:-3 | |
937 | -3:3/2:NaN | |
938 | -3:2:9 | |
939 | -3:3:-27 | |
940 | -3:inf:inf # complex infinity | |
941 | -3:NaN:NaN | |
942 | # | |
943 | -2:-inf:0 | |
944 | -2:-3:-1/8 | |
945 | -2:-2:1/4 | |
946 | -2:-3/2:NaN | |
947 | -2:-1:-1/2 | |
948 | -2:-1/2:NaN | |
949 | -2:0:1 | |
950 | -2:1/2:NaN | |
951 | -2:1:-2 | |
952 | -2:3/2:NaN | |
953 | -2:2:4 | |
954 | -2:3:-8 | |
955 | -2:inf:inf # complex infinity | |
956 | -2:NaN:NaN | |
957 | # | |
958 | -3/2:-inf:0 | |
959 | -3/2:-3:-8/27 | |
960 | -3/2:-2:4/9 | |
961 | -3/2:-3/2:NaN | |
962 | -3/2:-1:-2/3 | |
963 | -3/2:-1/2:NaN | |
964 | -3/2:0:1 | |
965 | -3/2:1/2:NaN | |
966 | -3/2:1:-3/2 | |
967 | -3/2:3/2:NaN | |
968 | -3/2:2:9/4 | |
969 | -3/2:3:-27/8 | |
970 | -3/2:inf:inf # complex infinity | |
971 | -3/2:NaN:NaN | |
972 | # | |
973 | -1:-inf:NaN | |
974 | -1:-3:-1 | |
975 | -1:-2:1 | |
976 | -1:-3/2:NaN | |
977 | -1:-1:-1 | |
978 | -1:-1/2:NaN | |
979 | -1:0:1 | |
980 | -1:1/2:NaN | |
981 | -1:1:-1 | |
982 | -1:3/2:NaN | |
983 | -1:2:1 | |
984 | -1:3:-1 | |
985 | -1:inf:NaN | |
986 | -1:NaN:NaN | |
987 | # | |
988 | -1/2:-inf:inf # complex infinity | |
989 | -1/2:-3:-8 | |
990 | -1/2:-2:4 | |
991 | -1/2:-3/2:NaN | |
992 | -1/2:-1:-2 | |
993 | -1/2:-1/2:NaN | |
994 | -1/2:0:1 | |
995 | -1/2:1/2:NaN | |
996 | -1/2:1:-1/2 | |
997 | -1/2:3/2:NaN | |
998 | -1/2:2:1/4 | |
999 | -1/2:3:-1/8 | |
1000 | -1/2:inf:0 | |
1001 | -1/2:NaN:NaN | |
1002 | # | |
1003 | 0:-inf:inf # complex infinity | |
1004 | 0:-3:inf # complex infinity | |
1005 | 0:-2:inf # complex infinity | |
1006 | 0:-3/2:inf # complex infinity | |
1007 | 0:-1:inf # complex infinity | |
1008 | 0:-1/2:inf # complex infinity | |
1009 | 0:0:1 | |
1010 | 0:1/2:0 | |
1011 | 0:1:0 | |
1012 | 0:3/2:0 | |
1013 | 0:2:0 | |
1014 | 0:3:0 | |
1015 | 0:inf:0 | |
1016 | 0:NaN:NaN | |
1017 | # | |
1018 | 1/2:-inf:inf | |
1019 | 1/2:-3:8 | |
1020 | 1/2:-2:4 | |
1021 | #1/2:-3/2:2.828427124746190097603377448419396157139 | |
1022 | 1/2:-1:2 | |
1023 | #1/2:-1/2:1.41421356237309504880168872420969807857 | |
1024 | 1/2:0:1 | |
1025 | #1/2:1/2:0.7071067811865475244008443621048490392848 | |
1026 | 1/2:1:1/2 | |
1027 | #1/2:3/2:0.3535533905932737622004221810524245196424 | |
1028 | 1/2:2:1/4 | |
1029 | 1/2:3:1/8 | |
1030 | 1/2:inf:0 | |
1031 | 1/2:NaN:NaN | |
1032 | # | |
1033 | 1:-inf:1 | |
1034 | 1:-3:1 | |
1035 | 1:-2:1 | |
1036 | 1:-3/2:1 | |
1037 | 1:-1:1 | |
1038 | 1:-1/2:1 | |
1039 | 1:0:1 | |
1040 | 1:1/2:1 | |
1041 | 1:1:1 | |
1042 | 1:3/2:1 | |
1043 | 1:2:1 | |
1044 | 1:3:1 | |
1045 | 1:inf:1 | |
1046 | 1:NaN:NaN | |
1047 | # | |
1048 | 3/2:-inf:0 | |
1049 | 3/2:-3:8/27 | |
1050 | 3/2:-2:4/9 | |
1051 | #3/2:-3/2:0.5443310539518173551549520166013091982147 | |
1052 | 3/2:-1:2/3 | |
1053 | #3/2:-1/2:0.816496580927726032732428024901963797322 | |
1054 | 3/2:0:1 | |
1055 | #3/2:1/2:1.224744871391589049098642037352945695983 | |
1056 | 3/2:1:3/2 | |
1057 | #3/2:3/2:1.837117307087383573647963056029418543974 | |
1058 | 3/2:2:9/4 | |
1059 | 3/2:3:27/8 | |
1060 | 3/2:inf:inf | |
1061 | 3/2:NaN:NaN | |
1062 | # | |
1063 | 2:-inf:0 | |
1064 | 2:-3:1/8 | |
1065 | 2:-2:1/4 | |
1066 | #2:-3/2:0.3535533905932737622004221810524245196424 | |
1067 | 2:-1:1/2 | |
1068 | #2:-1/2:0.7071067811865475244008443621048490392848 | |
1069 | 2:0:1 | |
1070 | #2:1/2:1.41421356237309504880168872420969807857 | |
1071 | 2:1:2 | |
1072 | #2:3/2:2.828427124746190097603377448419396157139 | |
a4e2b1c6 | 1073 | 2:2:4 |
3cc1ad36 SH |
1074 | 2:3:8 |
1075 | 2:inf:inf | |
1076 | 2:NaN:NaN | |
1077 | # | |
1078 | 3:-inf:0 | |
1079 | 3:-3:1/27 | |
1080 | 3:-2:1/9 | |
1081 | #3:-3/2:0.1924500897298752548363829268339858185492 | |
1082 | 3:-1:1/3 | |
1083 | #3:-1/2:0.5773502691896257645091487805019574556476 | |
1084 | 3:0:1 | |
1085 | #3:1/2:1.732050807568877293527446341505872366943 | |
1086 | 3:1:3 | |
1087 | #3:3/2:5.196152422706631880582339024517617100828 | |
1088 | 3:2:9 | |
a4e2b1c6 | 1089 | 3:3:27 |
3cc1ad36 SH |
1090 | 3:inf:inf |
1091 | 3:NaN:NaN | |
1092 | # | |
1093 | inf:-inf:0 | |
1094 | inf:-3:0 | |
1095 | inf:-2:0 | |
1096 | inf:-3/2:0 | |
1097 | inf:-1:0 | |
1098 | inf:-1/2:0 | |
1099 | inf:0:NaN | |
1100 | inf:1/2:inf | |
1101 | inf:1:inf | |
1102 | inf:3/2:inf | |
1103 | inf:2:inf | |
1104 | inf:3:inf | |
1105 | inf:inf:inf | |
1106 | inf:NaN:NaN | |
1107 | # | |
1108 | NaN:-inf:NaN | |
1109 | NaN:-3:NaN | |
1110 | NaN:-2:NaN | |
1111 | NaN:-3/2:NaN | |
1112 | NaN:-1:NaN | |
1113 | NaN:-1/2:NaN | |
1114 | NaN:0:NaN | |
1115 | NaN:1/2:NaN | |
1116 | NaN:1:NaN | |
1117 | NaN:3/2:NaN | |
1118 | NaN:2:NaN | |
1119 | NaN:3:NaN | |
1120 | NaN:inf:NaN | |
1121 | NaN:NaN:NaN | |
1122 | ||
7afd7a91 T |
1123 | &bacmp |
1124 | +0:-0:0 | |
1125 | +0:+1:-1 | |
1126 | -1:+1:0 | |
1127 | +1:-1:0 | |
1128 | -1:+2:-1 | |
1129 | +2:-1:1 | |
1130 | -123456789:+987654321:-1 | |
1131 | +123456789:-987654321:-1 | |
1132 | +987654321:+123456789:1 | |
1133 | -987654321:+123456789:1 | |
1134 | -123:+4567889:-1 | |
1135 | # NaNs | |
1136 | acmpNaN:123: | |
1137 | 123:acmpNaN: | |
1138 | acmpNaN:acmpNaN: | |
1139 | # infinity | |
1140 | +inf:+inf:0 | |
1141 | -inf:-inf:0 | |
1142 | +inf:-inf:0 | |
1143 | -inf:+inf:0 | |
1144 | +inf:123:1 | |
1145 | -inf:123:1 | |
1146 | +inf:-123:1 | |
1147 | -inf:-123:1 | |
1148 | +inf:1/23:1 | |
1149 | -inf:1/23:1 | |
1150 | +inf:-1/23:1 | |
1151 | -inf:-1/23:1 | |
1152 | +inf:12/3:1 | |
1153 | -inf:12/3:1 | |
1154 | +inf:-12/3:1 | |
1155 | -inf:-12/3:1 | |
1156 | 123:inf:-1 | |
1157 | -123:inf:-1 | |
1158 | 123:-inf:-1 | |
1159 | -123:-inf:-1 | |
1160 | 1/23:inf:-1 | |
1161 | -1/23:inf:-1 | |
1162 | 1/23:-inf:-1 | |
1163 | -1/23:-inf:-1 | |
1164 | 12/3:inf:-1 | |
1165 | -12/3:inf:-1 | |
1166 | 12/3:-inf:-1 | |
1167 | -12/3:-inf:-1 | |
1168 | # return undef | |
1169 | +inf:NaN: | |
1170 | NaN:inf: | |
1171 | -inf:NaN: | |
1172 | NaN:-inf: | |
1173 | 1/3:2/3:-1 | |
1174 | 2/3:1/3:1 | |
1175 | 2/3:2/3:0 | |
3cc1ad36 | 1176 | |
a4e2b1c6 JH |
1177 | &numerator |
1178 | NaN:NaN | |
1179 | inf:inf | |
1180 | -inf:-inf | |
1181 | 3/7:3 | |
1182 | -3/7:-3 | |
1183 | 0:0 | |
1184 | 1:1 | |
12fc2493 | 1185 | 5/-3:-5 |
3cc1ad36 | 1186 | |
a4e2b1c6 JH |
1187 | &denominator |
1188 | NaN:NaN | |
12fc2493 AMS |
1189 | inf:1 |
1190 | -inf:1 | |
a4e2b1c6 JH |
1191 | 3/7:7 |
1192 | 0:1 | |
1193 | 1/1:1 | |
12fc2493 | 1194 | -1/1:1 |
a4e2b1c6 | 1195 | -3/7:7 |
12fc2493 | 1196 | 4/-5:5 |
3cc1ad36 | 1197 | |
a4e2b1c6 JH |
1198 | &finc |
1199 | 3/2:5/2 | |
1200 | -15/6:-3/2 | |
1201 | NaN:NaN | |
1202 | -1/3:2/3 | |
1203 | -2/7:5/7 | |
3cc1ad36 | 1204 | |
a4e2b1c6 JH |
1205 | &fdec |
1206 | 15/6:3/2 | |
1207 | -3/2:-5/2 | |
1208 | 1/3:-2/3 | |
1209 | 2/7:-5/7 | |
1210 | NaN:NaN | |
3cc1ad36 | 1211 | |
11c955be SH |
1212 | &log |
1213 | -1:NaN | |
1214 | 0:-inf | |
1215 | 1:0 | |
1216 | 34803:3267955896544848894312057422508991/312500000000000000000000000000000 | |
1217 | -inf:inf | |
1218 | inf:inf | |
1219 | NaN:NaN | |
3cc1ad36 | 1220 | |
11c955be | 1221 | &exp |
3cc1ad36 | 1222 | |
11c955be | 1223 | &sin |
3cc1ad36 | 1224 | |
11c955be | 1225 | &cos |
3cc1ad36 | 1226 | |
11c955be | 1227 | &atan2 |
3cc1ad36 | 1228 | |
11c955be | 1229 | &int |
3cc1ad36 | 1230 | |
11c955be | 1231 | &abs |
3cc1ad36 | 1232 | |
11c955be | 1233 | &sqrt |