|
1 for (var i = 2; i < 10; i++) { |
|
2 assertEq(Math.min(i, 1), 1); |
|
3 assertEq(Math.min(i, -1), -1); |
|
4 assertEq(Math.min(1, i), 1); |
|
5 assertEq(Math.min(-1, i), -1); |
|
6 assertEq(Math.min(5, 2), 2); |
|
7 assertEq(Math.min(2, 5), 2); |
|
8 assertEq(Math.min(5, -2), -2); |
|
9 assertEq(Math.min(-2, 5), -2); |
|
10 } |
|
11 |
|
12 for (i = 2; i < 10; i++) { |
|
13 assertEq(Math.max(i, 1), i); |
|
14 assertEq(Math.max(i, -1), i); |
|
15 assertEq(Math.max(1, i), i); |
|
16 assertEq(Math.max(-1, i), i); |
|
17 assertEq(Math.max(5, -2), 5); |
|
18 assertEq(Math.max(-2, 5), 5); |
|
19 assertEq(Math.max(5, 2), 5); |
|
20 assertEq(Math.max(2, 5), 5); |
|
21 } |
|
22 |
|
23 for (i = 2.1; i < 13; i += 3.17584) { |
|
24 assertEq(Math.max(i, 1), i); |
|
25 assertEq(Math.max(i, 1.5), i); |
|
26 assertEq(Math.max(1, i), i); |
|
27 assertEq(Math.max(1.5, i), i); |
|
28 |
|
29 assertEq(Math.max(NaN, NaN), NaN); |
|
30 assertEq(Math.max(NaN, Infinity), NaN); |
|
31 assertEq(Math.max(Infinity, NaN), NaN); |
|
32 |
|
33 assertEq(Math.max(NaN, i), NaN); |
|
34 assertEq(Math.max(i, NaN), NaN); |
|
35 |
|
36 assertEq(Math.max(i, Infinity), Infinity); |
|
37 assertEq(Math.max(Infinity, i), Infinity); |
|
38 |
|
39 assertEq(Math.max(i, -Infinity), i); |
|
40 assertEq(Math.max(-Infinity, i), i); |
|
41 } |
|
42 |
|
43 for (i = 2.1; i < 13; i += 3.17584) { |
|
44 assertEq(Math.min(i, 1), 1); |
|
45 assertEq(Math.min(i, 1.5), 1.5); |
|
46 assertEq(Math.min(1, i), 1); |
|
47 assertEq(Math.min(1.5, i), 1.5); |
|
48 |
|
49 assertEq(Math.min(NaN, NaN), NaN); |
|
50 assertEq(Math.min(NaN, Infinity), NaN); |
|
51 assertEq(Math.min(Infinity, NaN), NaN); |
|
52 |
|
53 assertEq(Math.min(NaN, i), NaN); |
|
54 assertEq(Math.min(i, NaN), NaN); |
|
55 |
|
56 assertEq(Math.min(i, Infinity), i); |
|
57 assertEq(Math.min(Infinity, i), i); |
|
58 |
|
59 assertEq(Math.min(i, -Infinity), -Infinity); |
|
60 assertEq(Math.min(-Infinity, i), -Infinity); |
|
61 } |
|
62 |
|
63 function isNegZero(n) { |
|
64 return n === 0 && 1/n === -Infinity; |
|
65 } |
|
66 |
|
67 for (i = 0; i < 5; i++) { |
|
68 assertEq(isNegZero(Math.min(0, -0)), true); |
|
69 assertEq(isNegZero(Math.min(-0, 0)), true); |
|
70 assertEq(isNegZero(Math.min(-0, -0)), true); |
|
71 assertEq(isNegZero(Math.max(0, -0)), false); |
|
72 assertEq(isNegZero(Math.max(-0, 0)), false); |
|
73 assertEq(isNegZero(Math.max(-0, -0)), true); |
|
74 } |