aboutsummaryrefslogtreecommitdiff
path: root/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.math.sinh.js
blob: 57606333c8c6db93e36a66d133f3ffdafd6c949f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 20.2.2.30 Math.sinh(x)
var $export = require('./_export');
var expm1 = require('./_math-expm1');
var exp = Math.exp;

// V8 near Chromium 38 has a problem with very small numbers
$export($export.S + $export.F * require('./_fails')(function () {
  return !Math.sinh(-2e-17) != -2e-17;
}), 'Math', {
  sinh: function sinh(x) {
    return Math.abs(x = +x) < 1
      ? (expm1(x) - expm1(-x)) / 2
      : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);
  }
});