math-expm1.js 489 B

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