Hello,

I need to specify an endless stream of independent random number
generators.

I wonder whether it is better to use split (flawed or not, doesn't
matter) like:

stdGens2 :: [StdGen]
stdGens2 = 
    stdGens' (mkStdGen seed)
    where
    stdGens' gen = gen1 : stdGens' gen2 where (gen1, gen2) = split gen

or to increment the seed in the recursive call like:

stdGens1 :: [StdGen]
stdGens1 = 
    stdGens' seed
    where
    stdGens' seed = mkStdGen seed : stdGens' (seed + 1)

The latter solution seems to work pretty well.

Thanks for hints,
Michael Marte



Reply via email to