michael@0: // Properties of Math.atanh that are guaranteed by the spec. michael@0: michael@0: // If x is NaN, the result is NaN. michael@0: assertEq(Math.atanh(NaN), NaN); michael@0: michael@0: // If x is less than −1, the result is NaN. michael@0: assertEq(Math.atanh(-ONE_PLUS_EPSILON), NaN); michael@0: assertEq(Math.atanh(-Number.MAX_VALUE), NaN); michael@0: assertEq(Math.atanh(-Infinity), NaN); michael@0: michael@0: for (var i = -5; i < -1; i += 0.1) michael@0: assertEq(Math.atanh(i), NaN); michael@0: michael@0: // If x is greater than 1, the result is NaN. michael@0: assertEq(Math.atanh(ONE_PLUS_EPSILON), NaN); michael@0: assertEq(Math.atanh(Number.MAX_VALUE), NaN); michael@0: assertEq(Math.atanh(Infinity), NaN); michael@0: michael@0: for (var i = +5; i > +1; i -= 0.1) michael@0: assertEq(Math.atanh(i), NaN); michael@0: michael@0: // If x is −1, the result is −∞. michael@0: assertEq(Math.atanh(-1), -Infinity); michael@0: michael@0: // If x is +1, the result is +∞. michael@0: assertEq(Math.atanh(+1), Infinity); michael@0: michael@0: // If x is +0, the result is +0. michael@0: assertEq(Math.atanh(+0), +0); michael@0: michael@0: // If x is −0, the result is −0. michael@0: assertEq(Math.atanh(-0), -0); michael@0: michael@0: michael@0: reportCompare(0, 0, "ok");