patch applied (packages/random): mkStdGen32: Avoid infinite recursion when applied to minBound
Ian Lynagh
igloo at earth.li
Thu Mar 10 03:36:31 CET 2011
Thu Jan 20 23:02:58 PST 2011 Johan Kiviniemi <devel at johan.kiviniemi.name>
* mkStdGen32: Avoid infinite recursion when applied to minBound
"mkStdGen32 s" would call itself with "negate s" if "s" is negative. Alas,
(minBound :: Int32) == negate minBound. "mkStdGen32 minBound" would thus
recurse infinitely.
Compute "sMaybeNegative .&. maxBound" instead. That clears the most significant
bit in signed types.
M ./System/Random.hs -3 +3
View patch online:
http://darcs.haskell.org/cgi-bin/darcsweb.cgi?r=packages/random;a=darcs_commitdiff;h=20110121070258-13164-dc58a391bec55e4245faaa076dc096b68e3b393b.gz
More information about the Cvs-libraries
mailing list