1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
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();
|