diff options
Diffstat (limited to 'js/src/tests/non262/Math/log2-exact.js')
-rw-r--r-- | js/src/tests/non262/Math/log2-exact.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/js/src/tests/non262/Math/log2-exact.js b/js/src/tests/non262/Math/log2-exact.js new file mode 100644 index 0000000000..160034ddb8 --- /dev/null +++ b/js/src/tests/non262/Math/log2-exact.js @@ -0,0 +1,30 @@ +// Properties of Math.log2 that are guaranteed by the spec. + +// If x is NaN, the result is NaN. +assertEq(Math.log2(NaN), NaN); + +// If x is less than 0, the result is NaN. +assertEq(Math.log2(-1e-10), NaN); +assertEq(Math.log2(-1e-5), NaN); +assertEq(Math.log2(-1e-1), NaN); +assertEq(Math.log2(-Number.MIN_VALUE), NaN); +assertEq(Math.log2(-Number.MAX_VALUE), NaN); +assertEq(Math.log2(-Infinity), NaN); + +for (var i = -1; i > -10; i--) + assertEq(Math.log2(i), NaN); + +// If x is +0, the result is −∞. +assertEq(Math.log2(+0), -Infinity); + +// If x is −0, the result is −∞. +assertEq(Math.log2(-0), -Infinity); + +// If x is 1, the result is +0. +assertEq(Math.log2(1), +0); + +// If x is +∞, the result is +∞. +assertEq(Math.log2(Infinity), Infinity); + + +reportCompare(0, 0, 'ok'); |