| var nan = Number.NaN; |
| var negative_zero = -0; |
| |
| function max(a, b) { |
| return Math.max(a, b); |
| } |
| function min(a, b) { |
| return Math.min(a, b); |
| } |
| |
| function main() { |
| for (var i = 0; i < 100; i++) { |
| assertEq(max(negative_zero, 0), 0); |
| assertEq(max(0, negative_zero), 0); |
| assertEq(min(0, negative_zero), negative_zero); |
| assertEq(min(negative_zero, 0), negative_zero); |
| |
| assertEq(min(negative_zero, negative_zero), negative_zero); |
| assertEq(max(negative_zero, negative_zero), negative_zero); |
| |
| assertEq(max(nan, 0), nan); |
| assertEq(min(nan, 0), nan); |
| |
| assertEq(max(0, nan), nan); |
| assertEq(max(nan, 0), nan); |
| |
| assertEq(max(3, 5), 5); |
| assertEq(max(5, 3), 5); |
| |
| assertEq(min(3, 5), 3); |
| assertEq(min(5, 3), 3); |
| |
| assertEq(max(Infinity, -Infinity), Infinity); |
| assertEq(min(Infinity, -Infinity), -Infinity); |
| assertEq(max(Infinity, nan), nan); |
| |
| assertEq(max(negative_zero, -5), negative_zero); |
| assertEq(min(negative_zero, -5), -5); |
| } |
| } |
| |
| main(); |