Commit | Line | Data |
---|---|---|
a0ac753d T |
1 | #!/usr/bin/perl -w |
2 | ||
3 | # test that overloaded compare works when NaN are involved | |
4 | ||
5 | use strict; | |
4aa37faf | 6 | use Test::More tests => 26; |
a0ac753d T |
7 | |
8 | use Math::BigInt; | |
9 | use Math::BigFloat; | |
10 | ||
11 | compare (Math::BigInt->bnan(), Math::BigInt->bone() ); | |
12 | compare (Math::BigFloat->bnan(), Math::BigFloat->bone() ); | |
13 | ||
14 | sub compare | |
15 | { | |
16 | my ($nan, $one) = @_; | |
17 | ||
18 | is ($one, $one, '1 == 1'); | |
19 | ||
20 | is ($one != $nan, 1, "1 != NaN"); | |
21 | is ($nan != $one, 1, "NaN != 1"); | |
22 | is ($nan != $nan, 1, "NaN != NaN"); | |
23 | ||
24 | is ($nan == $one, '', "NaN == 1"); | |
25 | is ($one == $nan, '', "1 == NaN"); | |
26 | is ($nan == $nan, '', "NaN == NaN"); | |
27 | ||
28 | is ($nan <= $one, '', "NaN <= 1"); | |
29 | is ($one <= $nan, '', "1 <= NaN"); | |
30 | is ($nan <= $nan, '', "NaN <= NaN"); | |
31 | ||
32 | is ($nan >= $one, '', "NaN >= 1"); | |
33 | is ($one >= $nan, '', "1 >= NaN"); | |
34 | is ($nan >= $nan, '', "NaN >= NaN"); | |
35 | } | |
36 |