js/src/jit-test/tests/ion/mathMinMax.js

changeset 0
6474c204b198
equal deleted inserted replaced
-1:000000000000 0:7a7fc526a728
1 var nan = Number.NaN;
2 var negative_zero = -0;
3
4 function max(a, b) {
5 return Math.max(a, b);
6 }
7 function min(a, b) {
8 return Math.min(a, b);
9 }
10
11 function main() {
12 for (var i = 0; i < 100; i++) {
13 assertEq(max(negative_zero, 0), 0);
14 assertEq(max(0, negative_zero), 0);
15 assertEq(min(0, negative_zero), negative_zero);
16 assertEq(min(negative_zero, 0), negative_zero);
17
18 assertEq(min(negative_zero, negative_zero), negative_zero);
19 assertEq(max(negative_zero, negative_zero), negative_zero);
20
21 assertEq(max(nan, 0), nan);
22 assertEq(min(nan, 0), nan);
23
24 assertEq(max(0, nan), nan);
25 assertEq(max(nan, 0), nan);
26
27 assertEq(max(3, 5), 5);
28 assertEq(max(5, 3), 5);
29
30 assertEq(min(3, 5), 3);
31 assertEq(min(5, 3), 3);
32
33 assertEq(max(Infinity, -Infinity), Infinity);
34 assertEq(min(Infinity, -Infinity), -Infinity);
35 assertEq(max(Infinity, nan), nan);
36
37 assertEq(max(negative_zero, -5), negative_zero);
38 assertEq(min(negative_zero, -5), -5);
39 }
40 }
41
42 main();

mercurial