UNPKG

538 BJavaScriptView Raw
1'use strict';
2var $ = require('../internals/export');
3
4// eslint-disable-next-line es/no-math-asinh -- required for testing
5var $asinh = Math.asinh;
6var log = Math.log;
7var sqrt = Math.sqrt;
8
9function asinh(x) {
10 var n = +x;
11 return !isFinite(n) || n === 0 ? n : n < 0 ? -asinh(-n) : log(n + sqrt(n * n + 1));
12}
13
14var FORCED = !($asinh && 1 / $asinh(0) > 0);
15
16// `Math.asinh` method
17// https://tc39.es/ecma262/#sec-math.asinh
18// Tor Browser bug: Math.asinh(0) -> -0
19$({ target: 'Math', stat: true, forced: FORCED }, {
20 asinh: asinh
21});