Commit c2c5e00d authored by Benjamin Peterson's avatar Benjamin Peterson

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.
........
parent f9f2982f
......@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment