|
1 // Properties of Math.log2 that are guaranteed by the spec. |
|
2 |
|
3 // If x is NaN, the result is NaN. |
|
4 assertEq(Math.log2(NaN), NaN); |
|
5 |
|
6 // If x is less than 0, the result is NaN. |
|
7 assertEq(Math.log2(-1e-10), NaN); |
|
8 assertEq(Math.log2(-1e-5), NaN); |
|
9 assertEq(Math.log2(-1e-1), NaN); |
|
10 assertEq(Math.log2(-Number.MIN_VALUE), NaN); |
|
11 assertEq(Math.log2(-Number.MAX_VALUE), NaN); |
|
12 assertEq(Math.log2(-Infinity), NaN); |
|
13 |
|
14 for (var i = -1; i > -10; i--) |
|
15 assertEq(Math.log2(i), NaN); |
|
16 |
|
17 // If x is +0, the result is −∞. |
|
18 assertEq(Math.log2(+0), -Infinity); |
|
19 |
|
20 // If x is −0, the result is −∞. |
|
21 assertEq(Math.log2(-0), -Infinity); |
|
22 |
|
23 // If x is 1, the result is +0. |
|
24 assertEq(Math.log2(1), +0); |
|
25 |
|
26 // If x is +∞, the result is +∞. |
|
27 assertEq(Math.log2(Infinity), Infinity); |
|
28 |
|
29 |
|
30 reportCompare(0, 0, 'ok'); |