summaryrefslogtreecommitdiff
path: root/cpan/Math-BigInt/t/sparts-mbf.t
diff options
context:
space:
mode:
Diffstat (limited to 'cpan/Math-BigInt/t/sparts-mbf.t')
-rw-r--r--cpan/Math-BigInt/t/sparts-mbf.t325
1 files changed, 0 insertions, 325 deletions
diff --git a/cpan/Math-BigInt/t/sparts-mbf.t b/cpan/Math-BigInt/t/sparts-mbf.t
deleted file mode 100644
index b1a7a4a87e..0000000000
--- a/cpan/Math-BigInt/t/sparts-mbf.t
+++ /dev/null
@@ -1,325 +0,0 @@
-# -*- mode: perl; -*-
-
-use strict;
-use warnings;
-
-use Test::More tests => 1848;
-
-use Math::BigFloat;
-
-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::BigFloat -> new("$x_str");|,
- qq| (\$m, \$e) = \$x -> sparts();\n\n|);
-
- {
- my $x = Math::BigFloat -> new($x_str);
- my ($mant_got, $expo_got) = $x -> sparts();
-
- isa_ok($mant_got, "Math::BigFloat");
- isa_ok($expo_got, "Math::BigFloat");
-
- 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::BigFloat -> new("$x_str");|,
- qq| \$m = \$x -> sparts();\n\n|);
-
- {
- my $x = Math::BigFloat -> new($x_str);
- my $mant_got = $x -> sparts();
-
- isa_ok($mant_got, "Math::BigFloat");
-
- is($mant_got, $mant_str, "value of mantissa");
- is($x, $x_str, "input is unmodified");
- }
-
-}
-
-# Verify that the accuracy of the significand and the exponent depends on the
-# accuracy of the invocand, if set, not the class.
-
-note(qq|\nVerify that accuracy depends on invocand, not class.\n\n|);
-
-{
- Math::BigFloat -> accuracy(20);
- my $x = Math::BigFloat -> new("3"); # accuray is 20
- $x -> accuracy(10); # reduce accuray to 10
-
- my ($mant, $expo) = $x -> sparts();
- cmp_ok($mant, '==', 3, "value of significand");
- cmp_ok($expo, '==', 0, "value of exponent");
- cmp_ok($mant -> accuracy(), '==', 10, "accuracy of significand");
- cmp_ok($expo -> accuracy(), '==', 20, "accuracy of exponent");
-}
-
-note(qq|\nVerify that precision depends on invocand, not class.\n\n|);
-
-{
- Math::BigFloat -> precision(20);
- my $x = Math::BigFloat -> new("3"); # precision is 20
- $x -> precision(10); # reduce precision to 10
-
- my ($mant, $expo) = $x -> sparts();
- cmp_ok($mant, '==', 3, "value of significand");
- cmp_ok($expo, '==', 0, "value of exponent");
- cmp_ok($mant -> precision(), '==', 10, "precision of significand");
- cmp_ok($expo -> precision(), '==', 20, "precision of exponent");
-}
-
-__DATA__
-
-NaN:NaN:NaN
-
-inf:inf:inf
--inf:-inf:inf
-
-0:0:0
-
-# positive numbers
-
-0.000000000001:1:-12
-0.00000000001:1:-11
-0.0000000001:1:-10
-0.000000001:1:-9
-0.00000001:1:-8
-0.0000001:1:-7
-0.000001:1:-6
-0.00001:1:-5
-0.0001:1:-4
-0.001:1:-3
-0.01:1:-2
-0.1:1:-1
-1:1:0
-10:1:1
-100:1:2
-1000:1:3
-10000:1:4
-100000:1:5
-1000000:1:6
-10000000:1:7
-100000000:1:8
-1000000000:1:9
-10000000000:1:10
-100000000000:1:11
-1000000000000:1:12
-
-0.0000000000012:12:-13
-0.000000000012:12:-12
-0.00000000012:12:-11
-0.0000000012:12:-10
-0.000000012:12:-9
-0.00000012:12:-8
-0.0000012:12:-7
-0.000012:12:-6
-0.00012:12:-5
-0.0012:12:-4
-0.012:12:-3
-0.12:12:-2
-1.2:12:-1
-12:12:0
-120:12:1
-1200:12:2
-12000:12:3
-120000:12:4
-1200000:12:5
-12000000:12:6
-120000000:12:7
-1200000000:12:8
-12000000000:12:9
-120000000000:12:10
-1200000000000:12:11
-
-0.00000000000123:123:-14
-0.0000000000123:123:-13
-0.000000000123:123:-12
-0.00000000123:123:-11
-0.0000000123:123:-10
-0.000000123:123:-9
-0.00000123:123:-8
-0.0000123:123:-7
-0.000123:123:-6
-0.00123:123:-5
-0.0123:123:-4
-0.123:123:-3
-1.23:123:-2
-12.3:123:-1
-123:123:0
-1230:123:1
-12300:123:2
-123000:123:3
-1230000:123:4
-12300000:123:5
-123000000:123:6
-1230000000:123:7
-12300000000:123:8
-123000000000:123:9
-1230000000000:123:10
-
-0.000000000001234:1234:-15
-0.00000000001234:1234:-14
-0.0000000001234:1234:-13
-0.000000001234:1234:-12
-0.00000001234:1234:-11
-0.0000001234:1234:-10
-0.000001234:1234:-9
-0.00001234:1234:-8
-0.0001234:1234:-7
-0.001234:1234:-6
-0.01234:1234:-5
-0.1234:1234:-4
-1.234:1234:-3
-12.34:1234:-2
-123.4:1234:-1
-1234:1234:0
-12340:1234:1
-123400:1234:2
-1234000:1234:3
-12340000:1234:4
-123400000:1234:5
-1234000000:1234:6
-12340000000:1234:7
-123400000000:1234:8
-1234000000000:1234:9
-
-0.000003141592:3141592:-12
-0.00003141592:3141592:-11
-0.0003141592:3141592:-10
-0.003141592:3141592:-9
-0.03141592:3141592:-8
-0.3141592:3141592:-7
-3.141592:3141592:-6
-31.41592:3141592:-5
-314.1592:3141592:-4
-3141.592:3141592:-3
-31415.92:3141592:-2
-314159.2:3141592:-1
-3141592:3141592:0
-
-# negativ: numbers
-
--0.000000000001:-1:-12
--0.00000000001:-1:-11
--0.0000000001:-1:-10
--0.000000001:-1:-9
--0.00000001:-1:-8
--0.0000001:-1:-7
--0.000001:-1:-6
--0.00001:-1:-5
--0.0001:-1:-4
--0.001:-1:-3
--0.01:-1:-2
--0.1:-1:-1
--1:-1:0
--10:-1:1
--100:-1:2
--1000:-1:3
--10000:-1:4
--100000:-1:5
--1000000:-1:6
--10000000:-1:7
--100000000:-1:8
--1000000000:-1:9
--10000000000:-1:10
--100000000000:-1:11
--1000000000000:-1:12
-
--0.0000000000012:-12:-13
--0.000000000012:-12:-12
--0.00000000012:-12:-11
--0.0000000012:-12:-10
--0.000000012:-12:-9
--0.00000012:-12:-8
--0.0000012:-12:-7
--0.000012:-12:-6
--0.00012:-12:-5
--0.0012:-12:-4
--0.012:-12:-3
--0.12:-12:-2
--1.2:-12:-1
--12:-12:0
--120:-12:1
--1200:-12:2
--12000:-12:3
--120000:-12:4
--1200000:-12:5
--12000000:-12:6
--120000000:-12:7
--1200000000:-12:8
--12000000000:-12:9
--120000000000:-12:10
--1200000000000:-12:11
-
--0.00000000000123:-123:-14
--0.0000000000123:-123:-13
--0.000000000123:-123:-12
--0.00000000123:-123:-11
--0.0000000123:-123:-10
--0.000000123:-123:-9
--0.00000123:-123:-8
--0.0000123:-123:-7
--0.000123:-123:-6
--0.00123:-123:-5
--0.0123:-123:-4
--0.123:-123:-3
--1.23:-123:-2
--12.3:-123:-1
--123:-123:0
--1230:-123:1
--12300:-123:2
--123000:-123:3
--1230000:-123:4
--12300000:-123:5
--123000000:-123:6
--1230000000:-123:7
--12300000000:-123:8
--123000000000:-123:9
--1230000000000:-123:10
-
--0.000000000001234:-1234:-15
--0.00000000001234:-1234:-14
--0.0000000001234:-1234:-13
--0.000000001234:-1234:-12
--0.00000001234:-1234:-11
--0.0000001234:-1234:-10
--0.000001234:-1234:-9
--0.00001234:-1234:-8
--0.0001234:-1234:-7
--0.001234:-1234:-6
--0.01234:-1234:-5
--0.1234:-1234:-4
--1.234:-1234:-3
--12.34:-1234:-2
--123.4:-1234:-1
--1234:-1234:0
--12340:-1234:1
--123400:-1234:2
--1234000:-1234:3
--12340000:-1234:4
--123400000:-1234:5
--1234000000:-1234:6
--12340000000:-1234:7
--123400000000:-1234:8
--1234000000000:-1234:9
-
--0.000003141592:-3141592:-12
--0.00003141592:-3141592:-11
--0.0003141592:-3141592:-10
--0.003141592:-3141592:-9
--0.03141592:-3141592:-8
--0.3141592:-3141592:-7
--3.141592:-3141592:-6
--31.41592:-3141592:-5
--314.1592:-3141592:-4
--3141.592:-3141592:-3
--31415.92:-3141592:-2
--314159.2:-3141592:-1
--3141592:-3141592:0