This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author mark.dickinson
Recipients mark.dickinson, pitrou
Date 2009-03-29.12:55:32
SpamBayes Score 3.330669e-16
Marked as misclassified No
Message-id <1238331335.56.0.0635794313121.issue5593@psf.upfronthosting.co.za>
In-reply-to
Content
> 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.
History
Date User Action Args
2009-03-29 12:55:35mark.dickinsonsetrecipients: + mark.dickinson, pitrou
2009-03-29 12:55:35mark.dickinsonsetmessageid: <1238331335.56.0.0635794313121.issue5593@psf.upfronthosting.co.za>
2009-03-29 12:55:34mark.dickinsonlinkissue5593 messages
2009-03-29 12:55:32mark.dickinsoncreate