aboutsummaryrefslogtreecommitdiff
path: root/node_modules/core-js/modules/es6.math.sinh.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/core-js/modules/es6.math.sinh.js')
-rw-r--r--node_modules/core-js/modules/es6.math.sinh.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/node_modules/core-js/modules/es6.math.sinh.js b/node_modules/core-js/modules/es6.math.sinh.js
new file mode 100644
index 000000000..5464ae3e6
--- /dev/null
+++ b/node_modules/core-js/modules/es6.math.sinh.js
@@ -0,0 +1,15 @@
+// 20.2.2.30 Math.sinh(x)
+var $export = require('./_export')
+ , expm1 = require('./_math-expm1')
+ , 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);
+ }
+}); \ No newline at end of file