diff options
Diffstat (limited to 'js/src/jit-test/tests/ion/mathMinMax.js')
-rw-r--r-- | js/src/jit-test/tests/ion/mathMinMax.js | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/mathMinMax.js b/js/src/jit-test/tests/ion/mathMinMax.js new file mode 100644 index 000000000..dc3e5df9e --- /dev/null +++ b/js/src/jit-test/tests/ion/mathMinMax.js @@ -0,0 +1,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();
\ No newline at end of file |