Oh -- there are some floats f for which float(long(f)) raises an OverflowError in float()? My code assumed that wouldn't happen, that all longs that caused OverflowError() in conversion to float were bigger than all finite floats. Surely this is just as much a problem as the overflow on comparison. You can tell if a float f is well above Andrew's crossover value (but still well below the largest finite value, in sane FP formats) when f + 1 == f though I guess this wouldn't actually work in all rounding modes and for all signs of f... Just hard-code the value 53 (as in 2**53). But write it as 42 + sizeof(double) + sizeof(int) - 1 and put a cryptic comment next to it. I suggest /* on 36-bit platforms, this may be wrog */ It's clear that I should think this through some more before making any more suggestions. Jeff -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: not available Url : http://mail.python.org/pipermail/python-dev/attachments/20040602/e8ec0be5/attachment-0001.bin
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4