diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-04-06 20:34:59 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 2001-04-06 20:34:59 +0000 |
commit | 231c9faeb17b45588bbde0b49d0d32f25d2a1286 (patch) | |
tree | 608a5dbc92006863e3efe7292c4523bff005bd3c /t/lib | |
parent | 0a1f2d144e4463451f8627bd1c6ca420a59b01b0 (diff) | |
parent | 8b3f264028a458ce6664fc907094c8ad5e735d34 (diff) | |
download | perl-231c9faeb17b45588bbde0b49d0d32f25d2a1286.tar.gz |
Integrate mainline
p4raw-id: //depot/perlio@9598
Diffstat (limited to 't/lib')
-rwxr-xr-x | t/lib/bigfltpm.t | 117 | ||||
-rwxr-xr-x | t/lib/fields.t | 15 |
2 files changed, 80 insertions, 52 deletions
diff --git a/t/lib/bigfltpm.t b/t/lib/bigfltpm.t index a9725bad69..18bab4fd4c 100755 --- a/t/lib/bigfltpm.t +++ b/t/lib/bigfltpm.t @@ -9,9 +9,9 @@ use Math::BigFloat; $test = 0; $| = 1; -print "1..406\n"; +print "1..414\n"; while (<DATA>) { - chop; + chomp; if (s/^&//) { $f = $_; } elsif (/^\$.*/) { @@ -53,6 +53,8 @@ while (<DATA>) { $try .= "\$x * \$y;"; } elsif ($f eq "fdiv") { $try .= "\$x / \$y;"; + } elsif ($f eq "fmod") { + $try .= "\$x % \$y;"; } else { warn "Unknown op"; } } #print ">>>",$try,"<<<\n"; @@ -67,14 +69,18 @@ while (<DATA>) { print "# '$try' expected: /$pat/ got: '$ans1'\n"; } } - elsif ("$ans1" eq $ans) { #bug! - print "ok $test\n"; - } else { - print "not ok $test\n"; - print "# '$try' expected: '$ans' got: '$ans1'\n"; - } + else { + + $ans1_str = defined $ans1? "$ans1" : ""; + if ($ans1_str eq $ans) { #bug! + print "ok $test\n"; + } else { + print "not ok $test\n"; + print "# '$try' expected: '$ans' got: '$ans1'\n"; + } + } } -} +} { use Math::BigFloat ':constant'; @@ -96,12 +102,12 @@ while (<DATA>) { __END__ &fnorm -abc:NaN. - 1 a:NaN. -1bcd2:NaN. -11111b:NaN. -+1z:NaN. --1z:NaN. +abc:NaN + 1 a:NaN +1bcd2:NaN +11111b:NaN ++1z:NaN +-1z:NaN 0:0. +0:0. +00:0. @@ -119,7 +125,7 @@ abc:NaN. -001:-1. -123456789:-123456789. -00000100000:-100000. -123.456a:NaN. +123.456a:NaN 123.456:123.456 0.01:.01 .002:.002 @@ -134,7 +140,7 @@ abc:NaN. -3e111:-3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000. -4e-1111:-.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004 &fneg -abd:NaN. +abc:NaN +0:0. +1:-1. -1:1. @@ -143,7 +149,7 @@ abd:NaN. +123.456789:-123.456789 -123456.789:123456.789 &fabs -abc:NaN. +abc:NaN +0:0. +1:1. -1:1. @@ -185,15 +191,15 @@ $Math::BigFloat::rnd_mode = 'odd' -50123456789:5:-50123000000 +50123456789:9:50123456800 -50123456789:9:-50123456800 -+501234500:6:501234000 --501234500:6:-501234000 ++501234500:6:501235000 +-501234500:6:-501235000 $Math::BigFloat::rnd_mode = 'even' +60123456789:5:60123000000 -60123456789:5:-60123000000 +60123456789:9:60123456800 -60123456789:9:-60123456800 -+601234500:6:601235000 --601234500:6:-601235000 ++601234500:6:601234000 +-601234500:6:-601234000 &ffround $Math::BigFloat::rnd_mode = 'trunc' +1.23:-1:1.2 @@ -256,13 +262,13 @@ $Math::BigFloat::rnd_mode = 'odd' -5.23:-1:/-5.2(?:0{5}\d+)? +5.27:-1:/5.(?:3|29{5}\d+) -5.27:-1:/-5.(?:3|29{5}\d+) -+5.25:-1:/5.(?:2|29{5}\d+) --5.25:-1:/-5.(?:2|29{5}\d+) -+5.35:-1:/5.(?:4|29{5}\d+) --5.35:-1:/-5.(?:4|29{5}\d+) ++5.25:-1:/5.(?:3|29{5}\d+) +-5.25:-1:/-5.(?:3|29{5}\d+) ++5.35:-1:/5.(?:3|29{5}\d+) +-5.35:-1:/-5.(?:3|29{5}\d+) -0.0065:-1:0 -0.0065:-2:/-0\.01|-1e-02 --0.0065:-3:/-0\.006|-6e-03 +-0.0065:-3:/-0\.007|-7e-03 -0.0065:-4:/-0\.006(?:5|49{5}\d+)|-6\.5e-03 -0.0065:-5:/-0\.006(?:5|49{5}\d+)|-6\.5e-03 $Math::BigFloat::rnd_mode = 'even' @@ -270,13 +276,13 @@ $Math::BigFloat::rnd_mode = 'even' -6.23:-1:/-6.2(?:0{5}\d+)? +6.27:-1:/6.(?:3|29{5}\d+) -6.27:-1:/-6.(?:3|29{5}\d+) -+6.25:-1:/6.(?:3(?:0{5}\d+)?|29{5}\d+) --6.25:-1:/-6.(?:3(?:0{5}\d+)?|29{5}\d+) -+6.35:-1:/6.(?:3|39{5}\d+|29{8}\d+) --6.35:-1:/-6.(?:3|39{5}\d+|29{8}\d+) ++6.25:-1:/6.(?:2(?:0{5}\d+)?|29{5}\d+) +-6.25:-1:/-6.(?:2(?:0{5}\d+)?|29{5}\d+) ++6.35:-1:/6.(?:4|39{5}\d+|29{8}\d+) +-6.35:-1:/-6.(?:4|39{5}\d+|29{8}\d+) -0.0065:-1:0 -0.0065:-2:/-0\.01|-1e-02 --0.0065:-3:/-0\.007|-7e-03 +-0.0065:-3:/-0\.006|-7e-03 -0.0065:-4:/-0\.006(?:5|49{5}\d+)|-6\.5e-03 -0.0065:-5:/-0\.006(?:5|49{5}\d+)|-6\.5e-03 &fcmp @@ -307,9 +313,9 @@ abc:+0: -123:-124:1 -124:-123:-1 &fadd -abc:abc:NaN. -abc:+0:NaN. -+0:abc:NaN. +abc:abc:NaN +abc:+0:NaN ++0:abc:NaN +0:+0:0. +1:+0:1. +0:+1:1. @@ -345,9 +351,9 @@ abc:+0:NaN. -123456789:-987654321:-1111111110. +123456789:-987654321:-864197532. &fsub -abc:abc:NaN. -abc:+0:NaN. -+0:abc:NaN. +abc:abc:NaN +abc:+0:NaN ++0:abc:NaN +0:+0:0. +1:+0:1. +0:+1:-1. @@ -383,9 +389,9 @@ abc:+0:NaN. -123456789:-987654321:864197532. +123456789:-987654321:1111111110. &fmul -abc:abc:NaN. -abc:+0:NaN. -+0:abc:NaN. +abc:abc:NaN +abc:+0:NaN ++0:abc:NaN +0:+0:0. +0:+1:0. +1:+0:0. @@ -416,14 +422,14 @@ abc:+0:NaN. +88888888888:+9:799999999992. +99999999999:+9:899999999991. &fdiv -abc:abc:NaN. -abc:+1:abc:NaN. -+1:abc:NaN. -+0:+0:NaN. +abc:abc:NaN +abc:+1:abc:NaN ++1:abc:NaN ++0:+0:NaN +0:+1:0. -+1:+0:NaN. ++1:+0:NaN +0:-1:0. --1:+0:NaN. +-1:+0:NaN +1:+1:1. -1:-1:1. +1:-1:-1. @@ -470,10 +476,10 @@ $Math::BigFloat::div_scale = 20 $Math::BigFloat::div_scale = 40 &fsqrt +0:0 --1:/^(?i:0|\?|-?N\.?aNQ?)$ --2:/^(?i:0|\?|-?N\.?aNQ?)$ --16:/^(?i:0|\?|-?N\.?aNQ?)$ --123.456:/^(?i:0|\?|-?N\.?aNQ?)$ +-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 @@ -525,3 +531,12 @@ $Math::BigFloat::div_scale = 40 -12345678901234567890E-20:+0 -12345678901234567890E-21:+0 -12345678901234567890E-225:+0 +&fmod ++0:0:NaN ++0:1:0. ++3:1:0. ++5:2:1. ++9:4:1. ++9:5:4. ++9000:56:40. ++56:9000:56. diff --git a/t/lib/fields.t b/t/lib/fields.t index a3f591acc4..ae50df9ba6 100755 --- a/t/lib/fields.t +++ b/t/lib/fields.t @@ -90,7 +90,7 @@ my %expect = ( 'Foo::Bar::Baz' => 'b1:1,b2:2,b3:3,foo:4,bar:5,baz:6', ); -print "1..", int(keys %expect)+13, "\n"; +print "1..", int(keys %expect)+14, "\n"; my $testno = 0; while (my($class, $exp) = each %expect) { no strict 'refs'; @@ -170,3 +170,16 @@ print "ok ", ++$testno, "\n"; print $a->{foo}[1], "\n"; print $a->{bar}->{A}, "\n"; } + + +# Test $VERSION bug +package No::Version; + +use vars qw($Foo); +sub VERSION { 42 } + +package Test::Version; + +use base qw(No::Version); +print "not " unless $No::Version::VERSION =~ /set by base\.pm/; +print "ok ", ++$testno ,"\n"; |