RosettaCodeData/Task/Linear-congruential-generator/Haskell/linear-congruential-generator.hs

7 lines
250 B
Haskell
Raw Permalink Normal View History

2016-12-05 22:15:40 +01:00
bsd = tail . iterate (\n -> (n * 1103515245 + 12345) `mod` 2^31)
msr = map (`div` 2^16) . tail . iterate (\n -> (214013 * n + 2531011) `mod` 2^31)
2013-04-10 21:29:02 -07:00
main = do
print $ take 10 $ bsd 0 -- can take seeds other than 0, of course
print $ take 10 $ msr 0