1// Copyright JS Foundation and other contributors, http://js.foundation 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15var nan = NaN; 16var p_zero = 0.0; 17var m_zero = -p_zero; 18 19function isSameZero (x, y) 20{ 21 return x === 0 && (1 / x) === (1 / y); 22} 23 24assert(isNaN(Math.atanh(NaN))); 25assert(isNaN(Math.atanh(2))); 26assert(isNaN(Math.atanh(44))); 27assert(isNaN(Math.atanh(-2))); 28assert(isNaN(Math.atanh(-13))); 29assert(isSameZero(Math.atanh(p_zero), p_zero)); 30assert(isSameZero(Math.atanh(m_zero), m_zero)); 31assert(Math.atanh(-1) === Number.NEGATIVE_INFINITY); 32assert(Math.atanh(1) === Number.POSITIVE_INFINITY); 33