#!./perl -Dxst require "../lib/bigint.pl"; $test = 0; $| = 1; print "1..246\n"; while () { chop; if (/^&/) { $f = $_; } else { ++$test; @args = split(/:/,$_,99); $ans = pop(@args); $try = "$f('" . join("','", @args) . "');"; if (($ans1 = eval($try)) eq $ans) { print "ok $test\n"; } else { print "not ok $test\n"; print "# '$try' expected: '$ans' got: '$ans1'\n"; } } } __END__ &bdiv abc:abc:NaN abc:+1:abc:NaN +1:abc:NaN +0:+0:NaN +0:+1:+0 +1:+0:NaN +0:-1:+0 -1:+0:NaN +1:+1:+1 -1:-1:+1 +1:-1:-1 -1:+1:-1 +1:+2:+0 +2:+1:+2 +1000000000:+9:+111111111 +2000000000:+9:+222222222 +3000000000:+9:+333333333 +4000000000:+9:+444444444 +5000000000:+9:+555555555 +6000000000:+9:+666666666 +7000000000:+9:+777777777 +8000000000:+9:+888888888 +9000000000:+9:+1000000000 +35500000:+113:+314159 +71000000:+226:+314159 +106500000:+339:+314159 +1000000000:+3:+333333333 +10:+5:+2 +100:+4:+25 +1000:+8:+125 +10000:+16:+625 +999999999999:+9:+111111111111 +999999999999:+99:+10101010101 +999999999999:+999:+1001001001 +999999999999:+9999:+100010001 +999999999999999:+99999:+10000100001 &bmod abc:abc:NaN abc:+1:abc:NaN +1:abc:NaN +0:+0:NaN +0:+1:+0 +1:+0:NaN +0:-1:+0 -1:+0:NaN +1:+1:+0 -1:-1:+0 +1:-1:+0 -1:+1:+0 +1:+2:+1 +2:+1:+0 +1000000000:+9:+1 +2000000000:+9:+2 +3000000000:+9:+3 +4000000000:+9:+4 +5000000000:+9:+5 +6000000000:+9:+6 +7000000000:+9:+7 +8000000000:+9:+8 +9000000000:+9:+0 +35500000:+113:+33 +71000000:+226:+66 +106500000:+339:+99 +1000000000:+3:+1 +10:+5:+0 +100:+4:+0 +1000:+8:+0 +10000:+16:+0 +999999999999:+9:+0 +999999999999:+99:+0 +999999999999:+999:+0 +999999999999:+9999:+0 +999999999999999:+99999:+0 &bgcd abc:abc:NaN abc:+0:NaN +0:abc:NaN +0:+0:+0 +0:+1:+1 +1:+0:+1 +1:+1:+1 +2:+3:+1 +3:+2:+1 +100:+625:+25 +4096:+81:+1