mulNegZero.js (805B)
1 function mul(x, y) { return x * y; }; 2 function mulConst0(x) { return x * 0; }; 3 function mulConst1(x) { return -5 * x; }; 4 function mulConst2(x) { return x * -5; }; 5 6 function f() { 7 assertEq(mulConst0(7), 0); 8 assertEq(mulConst0(-5), -0); 9 assertEq(mulConst0(0), 0); 10 assertEq(mulConst0(-0), -0); 11 12 assertEq(mulConst1(7), -35); 13 assertEq(mulConst1(-8), 40); 14 assertEq(mulConst1(0), -0); 15 assertEq(mulConst1(-0), 0); 16 17 assertEq(mulConst2(7), -35); 18 assertEq(mulConst2(-8), 40); 19 assertEq(mulConst2(0), -0); 20 assertEq(mulConst2(-0), 0); 21 22 assertEq(mul(55, 2), 110); 23 assertEq(mul(0, -10), -0); 24 assertEq(mul(-5, 0), -0); 25 assertEq(mul(-0, 0), -0); 26 assertEq(mul(0, -0), -0); 27 assertEq(mul(0, 0), 0); 28 assertEq(mul(-0, -0), 0); 29 } 30 f();