FW: [GHC] #794: System.Random: StdGen's genRange doesn't match its
next
Simon Peyton-Jones
simonpj at microsoft.com
Tue Jun 13 04:14:59 EDT 2006
Would someone who knows and cares about random numbers like to fix this bug in the Random library?
Many thanks
Simon
-----Original Message-----
From: glasgow-haskell-bugs-bounces at haskell.org [mailto:glasgow-haskell-bugs-bounces at haskell.org] On Behalf Of GHC
Sent: 12 June 2006 23:28
To: glasgow-haskell-bugs at haskell.org
Subject: [GHC] #794: System.Random: StdGen's genRange doesn't match its next
#794: System.Random: StdGen's genRange doesn't match its next
-------------------------------------+--------------------------------------
Reporter: rturk at science.uva.nl | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: libraries/base | Version: 6.4.2
Severity: normal | Keywords:
Os: Unknown | Difficulty: Easy (1 hr)
Architecture: Unknown |
-------------------------------------+--------------------------------------
{{{
> g <- getStdGen
> length $ filter (<0) $ take (10^6) $ unfoldr (Just . next) g
0
> genRange g
(-2147483648,2147483647)
}}}
Apparently, {{{StdGen}}}'s {{{next}}} only returns non-negative values.
Also, {{{StdGen}}} doesn't override de default method {{{genRange}}}.
However, the System.Random docs
(http://haskell.org/ghc/docs/latest/html/libraries/base/System-
Random.html#v%3Anext) promise:
''The next operation returns an Int that is uniformly distributed in the
range returned by genRange (including both end points), and a new
generator.''
Thus, {{{StdGen}}}'s {{{next}}} violates the uniform distribution
requirement.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/794>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Libraries
mailing list