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 doko, flox, loewis, mark.dickinson
Date 2010-04-02.19:22:27
SpamBayes Score 5.551115e-17
Marked as misclassified No
Message-id <1270236149.35.0.600002620902.issue8265@psf.upfronthosting.co.za>
In-reply-to
Content
I made a couple of experimental checkins to the release26-maint branch (I didn't want to do a temporary checkin to the trunk with a release imminent):  see r79560 (which didn't work :) and its fix in r79601.  Results:

  MIN = 2.2250738585072014e-308
  TINY = 4.9406564584124654e-324
  3*TINY = 1.4821969375237396e-323
  MIN - 3*TINY = 2.2250738585071984e-308
  ldexp(1.0, -1074) = 4.9406564584124654e-324

The values for MIN, TINY and 3*TINY are correct; the value for MIN - 3*TINY (which should be an exact operation) is not:  it's giving something equal to MIN - 6*TINY instead.  This should be easily reproducible at the C level, since the Python subtraction is just a thin wrapper around the corresponding C operation.

So it looks as though the float emulation is buggy on this platform, and this bug should be reported upstream.  Matthias, can you take care of this?

For Python, I'm not sure what the appropriate action is, but I'd rather not skip the test, or otherwise completely silence the error.  Maybe some sort of "expected failure due to platform floating-point bug" output?
History
Date User Action Args
2010-04-02 19:22:29mark.dickinsonsetrecipients: + mark.dickinson, loewis, doko, flox
2010-04-02 19:22:29mark.dickinsonsetmessageid: <1270236149.35.0.600002620902.issue8265@psf.upfronthosting.co.za>
2010-04-02 19:22:27mark.dickinsonlinkissue8265 messages
2010-04-02 19:22:27mark.dickinsoncreate