Blame view

node_modules/es5-ext/math/sinh/shim.js 515 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
  };