
22 Dec
2009
22 Dec
'09
12:16 p.m.
On Monday 21 December 2009 20:37:30 zaxis wrote:
In erlang, first i use the following function to set the seed: new_seed() -> {_,_,X} = erlang:now(), {H,M,S} = time(), H1 = H * X rem 32767, M1 = M * X rem 32767, S1 = S * X rem 32767, put(random_seed, {H1,M1,S1}).
then use random:uniform/1 to get the random number.
In haskell, i just use the following function to get the random number. It seems i donot need to set the seed of random number generator manually?
rollDice :: Int -> IO Int rollDice n = randomRIO(1,n)
That's correct. randomRIO uses the global random number generator which is automatically initialized with a different seed each time your program starts up.