Commit | Line | Data |
b3abae2a |
1 | #!/usr/bin/perl -w |
2 | |
3 | use strict; |
4 | use Test; |
5 | |
6 | BEGIN |
7 | { |
8 | $| = 1; |
9 | chdir 't' if -d 't'; |
10 | unshift @INC, '../lib'; # for running manually |
56b9c951 |
11 | plan tests => 7; |
07d34614 |
12 | if ($] < 5.006) |
13 | { |
14 | for (1..7) { skip (1,'Not supported on older Perls'); } |
15 | exit; |
16 | } |
b3abae2a |
17 | } |
18 | |
75d53f21 |
19 | no warnings 'portable'; # this must wait until after the version check |
b3abae2a |
20 | use Math::BigInt ':constant'; |
21 | |
22 | ok (2 ** 255,'57896044618658097711785492504343953926634992332820282019728792003956564819968'); |
23 | |
56b9c951 |
24 | { |
56d9de68 |
25 | local $^W = 0; # protect against "non-portable" warnings |
8f675a64 |
26 | # hexadecimal constants |
27 | ok (0x123456789012345678901234567890, |
28 | Math::BigInt->new('0x123456789012345678901234567890')); |
29 | # binary constants |
30 | ok (0b01010100011001010110110001110011010010010110000101101101, |
31 | Math::BigInt->new( |
56b9c951 |
32 | '0b01010100011001010110110001110011010010010110000101101101')); |
33 | } |
34 | |
b3abae2a |
35 | use Math::BigFloat ':constant'; |
36 | ok (1.0 / 3.0, '0.3333333333333333333333333333333333333333'); |
37 | |
38 | # stress-test Math::BigFloat->import() |
39 | |
40 | Math::BigFloat->import( qw/:constant/ ); |
41 | ok (1,1); |
42 | |
43 | Math::BigFloat->import( qw/:constant upgrade Math::BigRat/ ); |
44 | ok (1,1); |
45 | |
46 | Math::BigFloat->import( qw/upgrade Math::BigRat :constant/ ); |
47 | ok (1,1); |
48 | |
49 | # all tests done |
50 | |