1 | 'use strict';
|
2 | var $ = require('../internals/export');
|
3 | var log1p = require('../internals/math-log1p');
|
4 |
|
5 |
|
6 | var $acosh = Math.acosh;
|
7 | var log = Math.log;
|
8 | var sqrt = Math.sqrt;
|
9 | var LN2 = Math.LN2;
|
10 |
|
11 | var FORCED = !$acosh
|
12 |
|
13 | || Math.floor($acosh(Number.MAX_VALUE)) !== 710
|
14 |
|
15 | || $acosh(Infinity) !== Infinity;
|
16 |
|
17 |
|
18 |
|
19 | $({ target: 'Math', stat: true, forced: FORCED }, {
|
20 | acosh: function acosh(x) {
|
21 | var n = +x;
|
22 | return n < 1 ? NaN : n > 94906265.62425156
|
23 | ? log(n) + LN2
|
24 | : log1p(n - 1 + sqrt(n - 1) * sqrt(n + 1));
|
25 | }
|
26 | });
|