diff options
Diffstat (limited to 'node_modules/core-js/modules/es.math.sinh.js')
| -rw-r--r-- | node_modules/core-js/modules/es.math.sinh.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/es.math.sinh.js b/node_modules/core-js/modules/es.math.sinh.js new file mode 100644 index 0000000..11ba610 --- /dev/null +++ b/node_modules/core-js/modules/es.math.sinh.js @@ -0,0 +1,20 @@ +var $ = require('../internals/export'); +var fails = require('../internals/fails'); +var expm1 = require('../internals/math-expm1'); + +var abs = Math.abs; +var exp = Math.exp; +var E = Math.E; + +var FORCED = fails(function () { + return Math.sinh(-2e-17) != -2e-17; +}); + +// `Math.sinh` method +// https://tc39.github.io/ecma262/#sec-math.sinh +// V8 near Chromium 38 has a problem with very small numbers +$({ target: 'Math', stat: true, forced: FORCED }, { + sinh: function sinh(x) { + return abs(x = +x) < 1 ? (expm1(x) - expm1(-x)) / 2 : (exp(x - 1) - exp(-x - 1)) * (E / 2); + } +}); |
