1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/ion/mathMinMax.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,42 @@ 1.4 +var nan = Number.NaN; 1.5 +var negative_zero = -0; 1.6 + 1.7 +function max(a, b) { 1.8 + return Math.max(a, b); 1.9 +} 1.10 +function min(a, b) { 1.11 + return Math.min(a, b); 1.12 +} 1.13 + 1.14 +function main() { 1.15 + for (var i = 0; i < 100; i++) { 1.16 + assertEq(max(negative_zero, 0), 0); 1.17 + assertEq(max(0, negative_zero), 0); 1.18 + assertEq(min(0, negative_zero), negative_zero); 1.19 + assertEq(min(negative_zero, 0), negative_zero); 1.20 + 1.21 + assertEq(min(negative_zero, negative_zero), negative_zero); 1.22 + assertEq(max(negative_zero, negative_zero), negative_zero); 1.23 + 1.24 + assertEq(max(nan, 0), nan); 1.25 + assertEq(min(nan, 0), nan); 1.26 + 1.27 + assertEq(max(0, nan), nan); 1.28 + assertEq(max(nan, 0), nan); 1.29 + 1.30 + assertEq(max(3, 5), 5); 1.31 + assertEq(max(5, 3), 5); 1.32 + 1.33 + assertEq(min(3, 5), 3); 1.34 + assertEq(min(5, 3), 3); 1.35 + 1.36 + assertEq(max(Infinity, -Infinity), Infinity); 1.37 + assertEq(min(Infinity, -Infinity), -Infinity); 1.38 + assertEq(max(Infinity, nan), nan); 1.39 + 1.40 + assertEq(max(negative_zero, -5), negative_zero); 1.41 + assertEq(min(negative_zero, -5), -5); 1.42 + } 1.43 +} 1.44 + 1.45 +main(); 1.46 \ No newline at end of file