diff options
author | Steve Hay <steve.m.hay@googlemail.com> | 2016-06-28 08:42:36 +0100 |
---|---|---|
committer | Steve Hay <steve.m.hay@googlemail.com> | 2016-06-28 08:42:36 +0100 |
commit | d7117a9482227b08ceda4afa17a03481bc2a0343 (patch) | |
tree | 12944280054bc8f1342e83fd41bf0b1cfccc0d84 /cpan/Math-BigInt/t/eparts-mbi.t | |
parent | 6f770d828bac009c7c97f17ed7851ebb0c61b43f (diff) | |
download | perl-d7117a9482227b08ceda4afa17a03481bc2a0343.tar.gz |
Upgrade from Math::BigInt version 1.999715 to 1.999724
Diffstat (limited to 'cpan/Math-BigInt/t/eparts-mbi.t')
-rw-r--r-- | cpan/Math-BigInt/t/eparts-mbi.t | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/cpan/Math-BigInt/t/eparts-mbi.t b/cpan/Math-BigInt/t/eparts-mbi.t new file mode 100644 index 0000000000..5c84e28c2d --- /dev/null +++ b/cpan/Math-BigInt/t/eparts-mbi.t @@ -0,0 +1,162 @@ +#!perl + +use strict; +use warnings; + +use Test::More tests => 784; + +use Math::BigInt; + +while (<DATA>) { + s/#.*$//; # remove comments + s/\s+$//; # remove trailing whitespace + next unless length; # skip empty lines + + my ($x_str, $mant_str, $expo_str) = split /:/; + + note(qq|\n\$x = Math::BigInt -> new("$x_str");|, + qq| (\$m, \$e) = \$x -> eparts();\n\n|); + + { + my $x = Math::BigInt -> new($x_str); + my ($mant_got, $expo_got) = $x -> eparts(); + + isa_ok($mant_got, "Math::BigInt"); + isa_ok($expo_got, "Math::BigInt"); + + is($mant_got, $mant_str, "value of mantissa"); + is($expo_got, $expo_str, "value of exponent"); + is($x, $x_str, "input is unmodified"); + } + + note(qq|\n\$x = Math::BigInt -> new("$x_str");|, + qq| \$m = \$x -> eparts();\n\n|); + + { + my $x = Math::BigInt -> new($x_str); + my $mant_got = $x -> eparts(); + + isa_ok($mant_got, "Math::BigInt"); + + is($mant_got, $mant_str, "value of mantissa"); + is($x, $x_str, "input is unmodified"); + } + +} + +__DATA__ + +NaN:NaN:NaN + +inf:inf:inf +-inf:-inf:inf + +0:0:0 + +# positive numbers + +1:1:0 +10:10:0 +100:100:0 +1000:1:3 +10000:10:3 +100000:100:3 +1000000:1:6 +10000000:10:6 +100000000:100:6 +1000000000:1:9 +10000000000:10:9 +100000000000:100:9 +1000000000000:1:12 + +12:12:0 +120:120:0 +1200:NaN:3 +12000:12:3 +120000:120:3 +1200000:NaN:6 +12000000:12:6 +120000000:120:6 +1200000000:NaN:9 +12000000000:12:9 +120000000000:120:9 +1200000000000:NaN:12 + +123:123:0 +1230:NaN:3 +12300:NaN:3 +123000:123:3 +1230000:NaN:6 +12300000:NaN:6 +123000000:123:6 +1230000000:NaN:9 +12300000000:NaN:9 +123000000000:123:9 +1230000000000:NaN:12 + +1234:NaN:3 +12340:NaN:3 +123400:NaN:3 +1234000:NaN:6 +12340000:NaN:6 +123400000:NaN:6 +1234000000:NaN:9 +12340000000:NaN:9 +123400000000:NaN:9 +1234000000000:NaN:12 + +3141592:NaN:6 + +# negativ: numbers + +-1:-1:0 +-10:-10:0 +-100:-100:0 +-1000:-1:3 +-10000:-10:3 +-100000:-100:3 +-1000000:-1:6 +-10000000:-10:6 +-100000000:-100:6 +-1000000000:-1:9 +-10000000000:-10:9 +-100000000000:-100:9 +-1000000000000:-1:12 + +-12:-12:0 +-120:-120:0 +-1200:NaN:3 +-12000:-12:3 +-120000:-120:3 +-1200000:NaN:6 +-12000000:-12:6 +-120000000:-120:6 +-1200000000:NaN:9 +-12000000000:-12:9 +-120000000000:-120:9 +-1200000000000:NaN:12 + +-123:-123:0 +-1230:NaN:3 +-12300:NaN:3 +-123000:-123:3 +-1230000:NaN:6 +-12300000:NaN:6 +-123000000:-123:6 +-1230000000:NaN:9 +-12300000000:NaN:9 +-123000000000:-123:9 +-1230000000000:NaN:12 + +-1234:NaN:3 +-12340:NaN:3 +-123400:NaN:3 +-1234000:NaN:6 +-12340000:NaN:6 +-123400000:NaN:6 +-1234000000:NaN:9 +-12340000000:NaN:9 +-123400000000:NaN:9 +-1234000000000:NaN:12 + +-3141592:NaN:6 |