The lowest int generated by StdGen is 1. Fixes ghc #8899.
authorThomas Miedema <thomasmiedema@gmail.com>
Tue, 8 Jul 2014 12:06:40 +0000 (14:06 +0200)
committerThomas Miedema <thomasmiedema@gmail.com>
Tue, 8 Jul 2014 12:29:51 +0000 (14:29 +0200)
This follows from the following line in the function stdNext
(z' is the next generated Int):

    z' = if z < 1 then z + 2147483562 else z

System/Random.hs

index 665dd78..defb8e4 100644 (file)
@@ -494,7 +494,7 @@ int32Count :: Integer
 int32Count = toInteger (maxBound::Int32) - toInteger (minBound::Int32) + 1
 
 stdRange :: (Int,Int)
-stdRange = (0, 2147483562)
+stdRange = (1, 2147483562)
 
 stdNext :: StdGen -> (Int, StdGen)
 -- Returns values in the range stdRange