test suite and fix input_line_number()
[p5sagit/p5-mst-13.2.git] / t / lib / bigfloatpm.t
index 9f62482..ebec667 100755 (executable)
@@ -18,8 +18,14 @@ while (<DATA>) {
                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;";
@@ -69,12 +75,12 @@ while (<DATA>) {
 } 
 __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.
@@ -92,7 +98,7 @@ abc:
 -001:-1.
 -123456789:-123456789.
 -00000100000:-100000.
-123.456a:
+123.456a:NaN.
 123.456:123.456
 0.01:.01
 .002:.002
@@ -107,7 +113,7 @@ abc:
 -3e111:-3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.
 -4e-1111:-.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004
 &fneg
-abd:
+abd:NaN.
 +0:0.
 +1:-1.
 -1:1.
@@ -116,7 +122,7 @@ abd:
 +123.456789:-123.456789
 -123456.789:123456.789
 &fabs
-abc:
+abc:NaN.
 +0:0.
 +1:1.
 -1:1.
@@ -276,9 +282,9 @@ abc:+0:
 -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.
@@ -314,9 +320,9 @@ abc:+0:
 -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.
@@ -352,9 +358,9 @@ abc:+0:
 -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.
@@ -385,14 +391,14 @@ abc:+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.
@@ -439,10 +445,10 @@ $Math::BigFloat::div_scale = 20
 $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