diff options
Diffstat (limited to 'Modules/_math.c')
-rw-r--r-- | Modules/_math.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Modules/_math.c b/Modules/_math.c index b5d8b45..d5974e3 100644 --- a/Modules/_math.c +++ b/Modules/_math.c @@ -56,13 +56,13 @@ _Py_acosh(double x) if (Py_IS_INFINITY(x)) { return x+x; } else { - return log(x)+ln2; /* acosh(huge)=log(2x) */ + return log(x)+ln2; /* acosh(huge)=log(2x) */ } } else if (x == 1.) { - return 0.0; /* acosh(1) = 0 */ + return 0.0; /* acosh(1) = 0 */ } - else if (x > 2.) { /* 2 < x < 2**28 */ + else if (x > 2.) { /* 2 < x < 2**28 */ double t = x*x; return log(2.0*x - 1.0 / (x + sqrt(t - 1.0))); } @@ -94,7 +94,7 @@ _Py_asinh(double x) return x+x; } if (absx < two_pow_m28) { /* |x| < 2**-28 */ - return x; /* return x inexact except 0 */ + return x; /* return x inexact except 0 */ } if (absx > two_pow_p28) { /* |x| > 2**28 */ w = log(absx)+ln2; @@ -114,9 +114,9 @@ _Py_asinh(double x) * Method : * 1.Reduced x to positive by atanh(-x) = -atanh(x) * 2.For x>=0.5 - * 1 2x x - * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * --------) - * 2 1 - x 1 - x + * 1 2x x + * atanh(x) = --- * log(1 + -------) = 0.5 * log1p(2 * -------) + * 2 1 - x 1 - x * * For x<0.5 * atanh(x) = 0.5*log1p(2x+2x*x/(1-x)) @@ -194,7 +194,7 @@ _Py_log1p(double x) /* For x small, we use the following approach. Let y be the nearest float to 1+x, then - 1+x = y * (1 - (y-1-x)/y) + 1+x = y * (1 - (y-1-x)/y) so log(1+x) = log(y) + log(1-(y-1-x)/y). Since (y-1-x)/y is tiny, the second term is well approximated by (y-1-x)/y. If abs(x) >= |