blob: 117175ffdbb5d92ba14fbc6fd36a526c31eead59 [file] [log] [blame]
// unary
function testUnary(name) {
Module.print(name);
function doTest(x) {
Module.print(' ' + [x] + ' ==> ' + Module['_' + name](x));
}
doTest(0);
doTest(1);
doTest(-1);
doTest(0.5);
doTest(-0.5);
doTest(1.4);
doTest(-1.4);
doTest(1.6);
doTest(-1.6);
doTest(5.1);
doTest(5.3);
doTest(5.7);
doTest(5.9);
doTest(-1 | 0);
doTest((-1 | 0) + 1);
doTest((-1 | 0) - 1);
}
testUnary('dfloor');
// binary
function testBinary(name) {
Module.print(name);
function doTest(x, y) {
Module.print(' ' + [x, y] + ' ==> ' + Module['_' + name](x, y));
}
doTest(0, 0);
doTest(0, 1);
doTest(1, 0);
doTest(1, 1);
doTest(5, 6);
doTest(6, 5);
doTest(101, -12);
doTest(-12, 101);
doTest(-1, 5);
doTest(5, -1);
doTest(-1, -1);
doTest(0.12, 0.12);
doTest(0.812, 1);
doTest(1.821, 0);
doTest(1, 1.212);
doTest(5.543, 6);
doTest(6, 5.121);
doTest(101.001, -12);
doTest(-12.001, 101);
doTest(-1, 5.123);
doTest(5, -1.123);
doTest(-1, -1.123);
}
testBinary('dadd');
testBinary('dsub');
testBinary('dmul');
testBinary('ddiv');
//testBinary('dcopysign'); // TODO this uses tempDoublePtr, a global, which is not yet functional
testBinary('dmin');
testBinary('dmax');
// comparisons
testBinary('deq');
testBinary('dne');
testBinary('dlt');
testBinary('dle');
testBinary('dgt');
testBinary('dge');
// conversions
testUnary('int_to_double');
testUnary('uint_to_double');
testUnary('double_to_int');
Module.print('done.');