Commit | Line | Data |
79072805 |
1 | #!./perl -Dxst |
2 | require "../lib/bigint.pl"; |
3 | |
4 | $test = 0; |
5 | $| = 1; |
6 | print "1..246\n"; |
7 | while (<DATA>) { |
8 | chop; |
9 | if (/^&/) { |
10 | $f = $_; |
11 | } else { |
12 | ++$test; |
13 | @args = split(/:/,$_,99); |
14 | $ans = pop(@args); |
15 | $try = "$f('" . join("','", @args) . "');"; |
16 | if (($ans1 = eval($try)) eq $ans) { |
17 | print "ok $test\n"; |
18 | } else { |
19 | print "not ok $test\n"; |
20 | print "# '$try' expected: '$ans' got: '$ans1'\n"; |
21 | } |
22 | } |
23 | } |
24 | __END__ |
25 | &bdiv |
26 | abc:abc:NaN |
27 | abc:+1:abc:NaN |
28 | +1:abc:NaN |
29 | +0:+0:NaN |
30 | +0:+1:+0 |
31 | +1:+0:NaN |
32 | +0:-1:+0 |
33 | -1:+0:NaN |
34 | +1:+1:+1 |
35 | -1:-1:+1 |
36 | +1:-1:-1 |
37 | -1:+1:-1 |
38 | +1:+2:+0 |
39 | +2:+1:+2 |
40 | +1000000000:+9:+111111111 |
41 | +2000000000:+9:+222222222 |
42 | +3000000000:+9:+333333333 |
43 | +4000000000:+9:+444444444 |
44 | +5000000000:+9:+555555555 |
45 | +6000000000:+9:+666666666 |
46 | +7000000000:+9:+777777777 |
47 | +8000000000:+9:+888888888 |
48 | +9000000000:+9:+1000000000 |
49 | +35500000:+113:+314159 |
50 | +71000000:+226:+314159 |
51 | +106500000:+339:+314159 |
52 | +1000000000:+3:+333333333 |
53 | +10:+5:+2 |
54 | +100:+4:+25 |
55 | +1000:+8:+125 |
56 | +10000:+16:+625 |
57 | +999999999999:+9:+111111111111 |
58 | +999999999999:+99:+10101010101 |
59 | +999999999999:+999:+1001001001 |
60 | +999999999999:+9999:+100010001 |
61 | +999999999999999:+99999:+10000100001 |
62 | &bmod |
63 | abc:abc:NaN |
64 | abc:+1:abc:NaN |
65 | +1:abc:NaN |
66 | +0:+0:NaN |
67 | +0:+1:+0 |
68 | +1:+0:NaN |
69 | +0:-1:+0 |
70 | -1:+0:NaN |
71 | +1:+1:+0 |
72 | -1:-1:+0 |
73 | +1:-1:+0 |
74 | -1:+1:+0 |
75 | +1:+2:+1 |
76 | +2:+1:+0 |
77 | +1000000000:+9:+1 |
78 | +2000000000:+9:+2 |
79 | +3000000000:+9:+3 |
80 | +4000000000:+9:+4 |
81 | +5000000000:+9:+5 |
82 | +6000000000:+9:+6 |
83 | +7000000000:+9:+7 |
84 | +8000000000:+9:+8 |
85 | +9000000000:+9:+0 |
86 | +35500000:+113:+33 |
87 | +71000000:+226:+66 |
88 | +106500000:+339:+99 |
89 | +1000000000:+3:+1 |
90 | +10:+5:+0 |
91 | +100:+4:+0 |
92 | +1000:+8:+0 |
93 | +10000:+16:+0 |
94 | +999999999999:+9:+0 |
95 | +999999999999:+99:+0 |
96 | +999999999999:+999:+0 |
97 | +999999999999:+9999:+0 |
98 | +999999999999999:+99999:+0 |
99 | &bgcd |
100 | abc:abc:NaN |
101 | abc:+0:NaN |
102 | +0:abc:NaN |
103 | +0:+0:+0 |
104 | +0:+1:+1 |
105 | +1:+0:+1 |
106 | +1:+1:+1 |
107 | +2:+3:+1 |
108 | +3:+2:+1 |
109 | +100:+625:+25 |
110 | +4096:+81:+1 |