13 lines
450 B
JavaScript
13 lines
450 B
JavaScript
var nativeExpm1 = Math.expm1;
|
|
var exp = Math.exp;
|
|
|
|
// `Math.expm1` method implementation
|
|
// https://tc39.github.io/ecma262/#sec-math.expm1
|
|
module.exports = (!nativeExpm1
|
|
// Old FF bug
|
|
|| nativeExpm1(10) > 22025.465794806719 || nativeExpm1(10) < 22025.4657948067165168
|
|
// Tor Browser bug
|
|
|| nativeExpm1(-2e-17) != -2e-17
|
|
) ? function expm1(x) {
|
|
return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : exp(x) - 1;
|
|
} : nativeExpm1;
|