eval "$_;";
} else {
++$test;
- @args = split(/:/,$_,99);
- $ans = pop(@args);
+ if (m|^(.*?):(/.+)$|) {
+ $ans = $2;
+ @args = split(/:/,$1,99);
+ }
+ else {
+ @args = split(/:/,$_,99);
+ $ans = pop(@args);
+ }
$try = "\$x = new Math::BigFloat \"$args[0]\";";
if ($f eq "fnorm"){
$try .= "\$x+0;";
}
__END__
&fnorm
-abc:
- 1 a:
-1bcd2:
-11111b:
-+1z:
--1z:
+abc:NaN.
+ 1 a:NaN.
+1bcd2:NaN.
+11111b:NaN.
++1z:NaN.
+-1z:NaN.
0:0.
+0:0.
+00:0.
-001:-1.
-123456789:-123456789.
-00000100000:-100000.
-123.456a:
+123.456a:NaN.
123.456:123.456
0.01:.01
.002:.002
-3e111:-3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.
-4e-1111:-.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004
&fneg
-abd:
+abd:NaN.
+0:0.
+1:-1.
-1:1.
+123.456789:-123.456789
-123456.789:123456.789
&fabs
-abc:
+abc:NaN.
+0:0.
+1:1.
-1:1.
-123:-124:1
-124:-123:-1
&fadd
-abc:abc:
-abc:+0:
-+0:abc:
+abc:abc:NaN.
+abc:+0:NaN.
++0:abc:NaN.
+0:+0:0.
+1:+0:1.
+0:+1:1.
-123456789:-987654321:-1111111110.
+123456789:-987654321:-864197532.
&fsub
-abc:abc:
-abc:+0:
-+0:abc:
+abc:abc:NaN.
+abc:+0:NaN.
++0:abc:NaN.
+0:+0:0.
+1:+0:1.
+0:+1:-1.
-123456789:-987654321:864197532.
+123456789:-987654321:1111111110.
&fmul
-abc:abc:
-abc:+0:
-+0:abc:
+abc:abc:NaN.
+abc:+0:NaN.
++0:abc:NaN.
+0:+0:0.
+0:+1:0.
+1:+0:0.
+88888888888:+9:799999999992.
+99999999999:+9:899999999991.
&fdiv
-abc:abc:
-abc:+1:abc:
-+1:abc:
-+0:+0:
+abc:abc:NaN.
+abc:+1:abc:NaN.
++1:abc:NaN.
++0:+0:NaN.
+0:+1:0.
-+1:+0:
++1:+0:NaN.
+0:-1:0.
--1:+0:
+-1:+0:NaN.
+1:+1:1.
-1:-1:1.
+1:-1:-1.
$Math::BigFloat::div_scale = 40
&fsqrt
+0:0
--1:/^(0|NaN)$
--2:/^(0|NaN)$
--16:/^(0|NaN)$
--123.456:/^(0|NaN)$
+-1:/^(?i:0|\?|NaNQ?)$
+-2:/^(?i:0|\?|NaNQ?)$
+-16:/^(?i:0|\?|NaNQ?)$
+-123.456:/^(?i:0|\?|NaNQ?)$
+1:1.
+1.44:1.2
+2:1.41421356237309504880168872420969807857