summaryrefslogtreecommitdiff
path: root/test/float_ops.post.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/float_ops.post.js')
-rw-r--r--test/float_ops.post.js66
1 files changed, 66 insertions, 0 deletions
diff --git a/test/float_ops.post.js b/test/float_ops.post.js
new file mode 100644
index 000000000..f05d3ba7b
--- /dev/null
+++ b/test/float_ops.post.js
@@ -0,0 +1,66 @@
+
+// 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);
+}
+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');
+testBinary('dmin');
+testBinary('dmax');
+
+// comparisons
+testBinary('deq');
+testBinary('dne');
+testBinary('dlt');
+testBinary('dle');
+testBinary('dgt');
+testBinary('dge');
+
+Module.print('done.');
+