mirror of https://github.com/python/cpython.git
Merged revisions 64349 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r64349 | mark.dickinson | 2008-06-17 16:16:55 -0500 (Tue, 17 Jun 2008) | 4 lines Issue 3118: make test_math pass on Ubuntu/ia64. exp(-745.0) was raising OverflowError incorrectly on this platform, presumably as a result of the libm setting errno = ERANGE for this call. ........
This commit is contained in:
parent
f9f2982fee
commit
c2c5e00d9d
|
@ -82,12 +82,17 @@ is_error(double x)
|
|||
* should return a zero on underflow, and +- HUGE_VAL on
|
||||
* overflow, so testing the result for zero suffices to
|
||||
* distinguish the cases).
|
||||
*
|
||||
* On some platforms (Ubuntu/ia64) it seems that errno can be
|
||||
* set to ERANGE for subnormal results that do *not* underflow
|
||||
* to zero. So to be safe, we'll ignore ERANGE whenever the
|
||||
* function result is less than one in absolute value.
|
||||
*/
|
||||
if (x)
|
||||
if (fabs(x) < 1.0)
|
||||
result = 0;
|
||||
else
|
||||
PyErr_SetString(PyExc_OverflowError,
|
||||
"math range error");
|
||||
else
|
||||
result = 0;
|
||||
}
|
||||
else
|
||||
/* Unexpected math error */
|
||||
|
|
Loading…
Reference in New Issue