Message102188
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? |
|
Date |
User |
Action |
Args |
2010-04-02 19:22:29 | mark.dickinson | set | recipients:
+ mark.dickinson, loewis, doko, flox |
2010-04-02 19:22:29 | mark.dickinson | set | messageid: <1270236149.35.0.600002620902.issue8265@psf.upfronthosting.co.za> |
2010-04-02 19:22:27 | mark.dickinson | link | issue8265 messages |
2010-04-02 19:22:27 | mark.dickinson | create | |
|