Unbias a random generator: Difference between revisions

Content added Content deleted
(→‎{{header|Haskell}}: Added examples)
Line 698: Line 698:
<lang Haskell>unbiased :: (MonadRandom m, Eq x) => m x -> m x
<lang Haskell>unbiased :: (MonadRandom m, Eq x) => m x -> m x
unbiased g = do x <- g
unbiased g = do x <- g
y <- g
y <- g
if x /= y then return y else unbias g</lang>
if x /= y then return y else unbias g</lang>


Examples of use:
Examples of use: