Aug. 26, 2006
6:18 p.m.
Thomas Wouters wrote:
On 8/26/06, David Hopwood <david.nospam.hopwood@blueyonder.co.uk> wrote:
CPython should be fixed anyway. The correct fix is "if (y == -1 && x < 0 && (unsigned long)x == -(unsigned long)x)".
Why not just "... && x == LONG_MIN"?
Because the intent is to check that x / y does not overflow a long, and x == LONG_MIN would not cause an overflow on 1's complement or sign-magnitude systems. (CPython has probably only been tested on 2's complement systems anyway, but if we're going to be pedantic about depending only on things in the C standard...) -- David Hopwood <david.nospam.hopwood@blueyonder.co.uk>