system-random-effect-0.1.0.0: Random number generation for extensible effects.

Safe HaskellNone

System.Random.Effect

Description

A random number effect, using a pure mersenne twister under the hood. This should be plug-and-play with any application making use of extensible effects.

Patches, even for the smallest of documentation bugs, are always welcome!

Synopsis

Documentation

data Random Source

A pure mersenne twister pseudo-random number generator.

Instances

mkRandom :: Word64 -> RandomSource

Create a random number generator from a Word64 seed.

mkRandomIO :: Member (Lift IO) r => Eff r RandomSource

Create a new random number generator, using the clocktime as the base for the seed. This must be called from a computation with a lifted base effect of IO.

randomInt :: Member (State Random) r => Eff r IntSource

Yield a new Int value from the generator. The full 64 bits will be used on a 64 bit machine.

randomInt64 :: Member (State Random) r => Eff r Int64Source

Yield a new Int64 value from the generator.

randomWord :: Member (State Random) r => Eff r WordSource

Yield a new Word value from the generator.

randomWord64 :: Member (State Random) r => Eff r Word64Source

Yield a new Word64 value from the generator.

randomDouble :: Member (State Random) r => Eff r DoubleSource

Yield a new 53-bit precise Double value from the generator.