blob: 9bcede5a6e32a32b6ddb44b7550baca1423de34e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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
|