math-expm1.js 473 B

123456789101112131415
  1. // eslint-disable-next-line es/no-math-expm1 -- safe
  2. var $expm1 = Math.expm1;
  3. var exp = Math.exp;
  4. // `Math.expm1` method implementation
  5. // https://tc39.es/ecma262/#sec-math.expm1
  6. module.exports = (!$expm1
  7. // Old FF bug
  8. || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168
  9. // Tor Browser bug
  10. || $expm1(-2e-17) != -2e-17
  11. ) ? function expm1(x) {
  12. var n = +x;
  13. return n == 0 ? n : n > -1e-6 && n < 1e-6 ? n + n * n / 2 : exp(n) - 1;
  14. } : $expm1;