15 lines
466 B
JavaScript
15 lines
466 B
JavaScript
|
// eslint-disable-next-line es/no-math-expm1 -- safe
|
||
|
var $expm1 = Math.expm1;
|
||
|
var exp = Math.exp;
|
||
|
|
||
|
// `Math.expm1` method implementation
|
||
|
// https://tc39.es/ecma262/#sec-math.expm1
|
||
|
module.exports = (!$expm1
|
||
|
// Old FF bug
|
||
|
|| $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
|
||
|
// Tor Browser bug
|
||
|
|| $expm1(-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;
|
||
|
} : $expm1;
|