aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/math/sinh/shim.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/math/sinh/shim.js')
-rw-r--r--node_modules/es5-ext/math/sinh/shim.js18
1 files changed, 18 insertions, 0 deletions
diff --git a/node_modules/es5-ext/math/sinh/shim.js b/node_modules/es5-ext/math/sinh/shim.js
new file mode 100644
index 000000000..fc6a04776
--- /dev/null
+++ b/node_modules/es5-ext/math/sinh/shim.js
@@ -0,0 +1,18 @@
+// Parts of implementation taken from es6-shim project
+// See: https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js
+
+"use strict";
+
+var expm1 = require("../expm1")
+ , abs = Math.abs
+ , exp = Math.exp
+ , e = Math.E;
+
+module.exports = function (value) {
+ if (isNaN(value)) return NaN;
+ value = Number(value);
+ if (value === 0) return value;
+ if (!isFinite(value)) return value;
+ if (abs(value) < 1) return (expm1(value) - expm1(-value)) / 2;
+ return (exp(value - 1) - exp(-value - 1)) * e / 2;
+};