mirror of
https://github.com/python/cpython.git
synced 2025-11-20 19:06:50 +00:00
Merged revisions 82607 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r82607 | mark.dickinson | 2010-07-06 16:00:40 +0100 (Tue, 06 Jul 2010) | 1 line Indentation and PEP 7 fixes. ........
This commit is contained in:
parent
c167712c00
commit
dab089632f
1 changed files with 23 additions and 20 deletions
|
|
@ -55,7 +55,8 @@ _Py_acosh(double x)
|
||||||
else if (x >= two_pow_p28) { /* x > 2**28 */
|
else if (x >= two_pow_p28) { /* x > 2**28 */
|
||||||
if (Py_IS_INFINITY(x)) {
|
if (Py_IS_INFINITY(x)) {
|
||||||
return x+x;
|
return x+x;
|
||||||
} else {
|
}
|
||||||
|
else {
|
||||||
return log(x)+ln2; /* acosh(huge)=log(2x) */
|
return log(x)+ln2; /* acosh(huge)=log(2x) */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -173,15 +174,15 @@ _Py_expm1(double x)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (fabs(x) < 0.7) {
|
if (fabs(x) < 0.7) {
|
||||||
double u;
|
double u;
|
||||||
u = exp(x);
|
u = exp(x);
|
||||||
if (u == 1.0)
|
if (u == 1.0)
|
||||||
return x;
|
return x;
|
||||||
else
|
else
|
||||||
return (u - 1.0) * x / log(u);
|
return (u - 1.0) * x / log(u);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return exp(x) - 1.0;
|
return exp(x) - 1.0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* log1p(x) = log(1+x). The log1p function is designed to avoid the
|
/* log1p(x) = log(1+x). The log1p function is designed to avoid the
|
||||||
|
|
@ -213,17 +214,19 @@ _Py_log1p(double x)
|
||||||
|
|
||||||
double y;
|
double y;
|
||||||
if (fabs(x) < DBL_EPSILON/2.) {
|
if (fabs(x) < DBL_EPSILON/2.) {
|
||||||
return x;
|
return x;
|
||||||
} else if (-0.5 <= x && x <= 1.) {
|
}
|
||||||
/* WARNING: it's possible than an overeager compiler
|
else if (-0.5 <= x && x <= 1.) {
|
||||||
will incorrectly optimize the following two lines
|
/* WARNING: it's possible than an overeager compiler
|
||||||
to the equivalent of "return log(1.+x)". If this
|
will incorrectly optimize the following two lines
|
||||||
happens, then results from log1p will be inaccurate
|
to the equivalent of "return log(1.+x)". If this
|
||||||
for small x. */
|
happens, then results from log1p will be inaccurate
|
||||||
y = 1.+x;
|
for small x. */
|
||||||
return log(y)-((y-1.)-x)/y;
|
y = 1.+x;
|
||||||
} else {
|
return log(y)-((y-1.)-x)/y;
|
||||||
/* NaNs and infinities should end up here */
|
}
|
||||||
return log(1.+x);
|
else {
|
||||||
|
/* NaNs and infinities should end up here */
|
||||||
|
return log(1.+x);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue