...and here are tests for the number ops.
- Damien
#! perl -w
use Parrot::Test tests = 23;
output_is(CODE, OUTPUT, set_n_nc);
set N0, 1.0
set N1, 4.0
set N2, 16.0
set N3, 64.0
set N4, 256.0
set N5, 1024.0
set N6, 4096.0
set N7, 16384.0
set N8, 65536.0
set N9, 262144.0
set N10, 1048576.0
set N11, 4194304.0
set N12, 16777216.0
set N13, 67108864.0
set N14, 268435456.0
set N15, 1073741824.0
set N16, 4294967296.0
set N17, 17179869184.0
set N18, 68719476736.0
set N19, 274877906944.0
set N20, 1099511627776.0
set N21, 4398046511104.0
set N22, 17592186044416.0
set N23, 70368744177664.0
set N24, 281474976710656.0
set N25, 1.12589990684262e+15
set N26, 4.5035996273705e+15
set N27, 1.8014398509482e+16
set N28, 7.20575940379279e+16
set N29, 2.88230376151712e+17
set N30, 1.15292150460685e+18
set N31, 4.61168601842739e+18
print N0
print \\n
print N1
print \\n
print N2
print \\n
print N3
print \\n
print N4
print \\n
print N5
print \\n
print N6
print \\n
print N7
print \\n
print N8
print \\n
print N9
print \\n
print N10
print \\n
print N11
print \\n
print N12
print \\n
print N13
print \\n
print N14
print \\n
print N15
print \\n
print N16
print \\n
print N17
print \\n
print N18
print \\n
print N19
print \\n
print N20
print \\n
print N21
print \\n
print N22
print \\n
print N23
print \\n
print N24
print \\n
print N25
print \\n
print N26
print \\n
print N27
print \\n
print N28
print \\n
print N29
print \\n
print N30
print \\n
print N31
print \\n
CODE
1.00
4.00
16.00
64.00
256.00
1024.00
4096.00
16384.00
65536.00
262144.00
1048576.00
4194304.00
16777216.00
67108864.00
268435456.00
1073741824.00
4294967296.00
17179869184.00
68719476736.00
274877906944.00
1099511627776.00
4398046511104.00
17592186044416.00
70368744177664.00
281474976710656.00
1125899906842620.00
4503599627370500.00
18014398509482000.00
72057594037927904.00
288230376151712000.00
1152921504606850048.00
4611686018427389952.00
OUTPUT
output_is(CODE, OUTPUT, add_n);
set N0, 1.0
add N1, N0, N0
print N1
print \\n
add N2, N0, N1
print N2
print \\n
add N2, N2, N2
print N2
print \\n
CODE
2.00
3.00
6.00
OUTPUT
output_is(CODE, OUTPUT, sub_i);
set N0, 424242.0
set N1, 4200.0
sub N2, N0, N1
print N2
print \\n
CODE
420042.00
OUTPUT
output_is(CODE, OUTPUT, mul_i);
set N0, 2.0
mul N1, N0, N0
mul N1, N1, N0
mul N1, N1, N0
mul N1, N1, N0
mul N1, N1, N0
mul N1, N1, N0
mul N1, N1, N0
print N1
print \\n
CODE
256.00
OUTPUT
output_is(CODE, OUTPUT, div_i);
set N0, 10.0
set N1, 2.0
div N2, N0, N1
print N2
print \\n
set N3, 7.0
set N4, 2.0
div N3, N3, N4
print N3
print \\n
set N5, 9.0
set N6, -4.0
div N7, N5, N6
print N7
print \\n
CODE
5.00
3.50
-2.25
OUTPUT
output_is(CODE, OUTPUT, eq_n_ic);
set N0, 5.01
set N1, 5.01
set N2, 5.02
eq N0, N1, ONE, ERROR
print bad\\n
ONE:
print ok 1\\n
eq N1, N2, ERROR, TWO
print bad\\n
TWO:
print ok 2\\n
end
ERROR:
print bad\\n
CODE
ok 1
ok 2
OUTPUT
output_is(CODE, OUTPUT, eq_nc_ic);
set N0, 1.01
eq N0, 1.00, ERROR, ONE
print bad\\n
ONE:
print ok 1\\n
eq N0, 1.01, TWO, ERROR
print bad\\n
TWO:
print ok 2\\n
end
ERROR:
print bad\\n
CODE
ok 1
ok 2
OUTPUT
output_is(CODE,