diff options
Diffstat (limited to 'node_modules/locutus/php/math/log1p.js')
-rw-r--r-- | node_modules/locutus/php/math/log1p.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/locutus/php/math/log1p.js b/node_modules/locutus/php/math/log1p.js new file mode 100644 index 0000000..9bcede5 --- /dev/null +++ b/node_modules/locutus/php/math/log1p.js @@ -0,0 +1,28 @@ +'use strict'; + +module.exports = function log1p(x) { + // discuss at: http://locutus.io/php/log1p/ + // original by: Brett Zamir (http://brett-zamir.me) + // improved by: Robert Eisele (http://www.xarg.org/) + // note 1: Precision 'n' can be adjusted as desired + // example 1: log1p(1e-15) + // returns 1: 9.999999999999995e-16 + + var ret = 0; + // degree of precision + var n = 50; + + if (x <= -1) { + // JavaScript style would be to return Number.NEGATIVE_INFINITY + return '-INF'; + } + if (x < 0 || x > 1) { + return Math.log(1 + x); + } + for (var i = 1; i < n; i++) { + ret += Math.pow(-x, i) / i; + } + + return -ret; +}; +//# sourceMappingURL=log1p.js.map
\ No newline at end of file |