Index of modules

C
Chacha [PRNG]
L
LXM [PRNG]
P
PRNG

This library provides pseudo-random number generators (PRNGs) comparable to that of the Random module from OCaml's standard library, but with two extensions: Generators are "splittable": they support a split operation that returns a new generator that is statistically independent from the current generator. Both generators can be used in parallel, and can be further splitted, without introducing statistical bias. This splitting operation is particularly useful to implement the lazy generation of pseudo-random infinite data structures such as functions or streams., In addition to a stateful, imperative interface resembling that of the Random.State standard library module, another, purely functional interface is provided. In the functional interface, the current state of the PRNG appears as parameter but also as result of the number generation functions. This interface can be used directly within a state monad.

Pure [PRNG.LXM]
Pure [PRNG.Chacha]
Pure [PRNG.Splitmix]
S
Splitmix [PRNG]
State [PRNG.LXM]
State [PRNG.Chacha]
State [PRNG.Splitmix]