summaryrefslogtreecommitdiffstats
path: root/js/src/tests/non262/Math/atanh-exact.js
blob: f49bdb1ac42f1ac0293d2cd17cac3e5b7ef16ad5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Properties of Math.atanh that are guaranteed by the spec.

// If x is NaN, the result is NaN.
assertEq(Math.atanh(NaN), NaN);

// If x is less than −1, the result is NaN.
assertEq(Math.atanh(-ONE_PLUS_EPSILON), NaN);
assertEq(Math.atanh(-Number.MAX_VALUE), NaN);
assertEq(Math.atanh(-Infinity), NaN);

for (var i = -5; i < -1; i += 0.1)
    assertEq(Math.atanh(i), NaN);

// If x is greater than 1, the result is NaN.
assertEq(Math.atanh(ONE_PLUS_EPSILON), NaN);
assertEq(Math.atanh(Number.MAX_VALUE), NaN);
assertEq(Math.atanh(Infinity), NaN);

for (var i = +5; i > +1; i -= 0.1)
    assertEq(Math.atanh(i), NaN);

// If x is −1, the result is −∞.
assertEq(Math.atanh(-1), -Infinity);

// If x is +1, the result is +∞.
assertEq(Math.atanh(+1), Infinity);

// If x is +0, the result is +0.
assertEq(Math.atanh(+0), +0);

// If x is −0, the result is −0.
assertEq(Math.atanh(-0), -0);


reportCompare(0, 0, "ok");