string-number-arith.js (795B)
1 function test(half, minusOneHalf) { 2 assertEq(10 - half, 9.5); 3 assertEq(10 - minusOneHalf, 11.5); 4 assertEq(half - 0, 0.5); 5 assertEq(minusOneHalf - 1, -2.5); 6 7 assertEq(10 * half, 5); 8 assertEq(half * 10, 5); 9 assertEq(10 * minusOneHalf, -15); 10 assertEq(minusOneHalf * 10, -15); 11 12 assertEq(10 / half, 20); 13 assertEq(half / 1, 0.5); 14 assertEq(12 / minusOneHalf, -8); 15 assertEq(minusOneHalf / 1, -1.5); 16 17 assertEq(10 % half, 0); 18 assertEq(half % 1, 0.5); 19 assertEq(12 % minusOneHalf, 0); 20 assertEq(minusOneHalf % 1, -0.5); 21 22 assertEq(10 ** half, Math.sqrt(10)); 23 assertEq(half ** 4, 0.0625); 24 assertEq(16 ** minusOneHalf, 0.015625); 25 assertEq(minusOneHalf ** 4, 5.0625); 26 } 27 28 for (var i = 0; i < 10; i++) { 29 test(0.5, -1.5); 30 test("0.5", "-1.5"); 31 test("5e-1", "-15e-1"); 32 }