tf-random-0.5: High-quality splittable pseudorandom number generator

Safe HaskellNone
LanguageHaskell98

System.Random.TF.Init

Synopsis

Documentation

newTFGen :: IO TFGen

Derive a new generator instance from the global RNG using split. This is the default way of obtaining a new RNG instance. Initial generator is seeded using mkSeedUnix on UNIX, and mkSeedTime otherwise. This should be eventually replaced with proper seeding.

mkTFGen :: Int -> TFGen

Quick and dirty way of creating a deterministically seeded generator.

mkSeedTime :: IO (Word64, Word64, Word64, Word64)

Use system time create the random seed. This method of seeding may not be relible.

mkSeedUnix :: IO (Word64, Word64, Word64, Word64)

Use the UNIX special file /dev/urandom to create the seed. Inspired by random-mwc.

initTFGen :: IO TFGen

Create a seed and used it to seed an instance of TFGen. Uses mkSeedUnix on UNIX, and mkSeedTime otherwise.