Mark Dickinson <dicki...@gmail.com> added the comment:

> Sorry for the noise.

Not noise.  I'd still be interested in understanding where this is coming 
from;  I seem to recall someone else having exactly the same experience 
(reported bug, then found that it disappeared after a clean compile).

My best guess is that you somehow ended up in a situation where the math 
module was using the x87 FPU for floating-point, while the interpreter 
core was using SSE2.  Is this possible?

Explanation: the x87 FPU has problems with double rounding (because it 
uses 80-bit extended precision registers internally) while SSE2 doesn't.  fsum 
is a bit broken on systems with double rounding problems.  So there's 
a pair of lines in testFsum that look like:

if 1e16+2.0 != 1e16+2.9999:
    return

These lines are supposed to skip all these tests on platforms with the 
double rounding problem.  But if the core is using SSE2 then the test will 
fail and all the fsum tests will be executed, which is a problem if fsum 
is using x87.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue5593>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to