Version 0.3.0

Documentation for version 0.3.0 of RandN. The changelog is available with the release announcement of v0.3.0.

Child Pages


A reproducible RNG can also be created by using an algorithm directly:


These RNGs are good all-rounders, and should be the first to be considered. They are not reproducible and cannot be seeded, but are automatically seeded with a cryptographic RNG upon creation.


The Bernoulli distribution can be thought of as a coin flip, returning either true or false with a probability of p, where p lies on the closed interval [0, 1]. When p == 1, the distribution will always return true, while when p == 0, the distribution will always return false.


Any type implementing IReproducibleRngFactory is guaranteed to be reproducible; that is, given a seed, the resulting RNG always will produce the same sequence. This applies across major and minor versions, even if it turns out the RNG has a bug in it. In that case, the given seed type and factory will be marked as obsolete, and a corrected version will be added. The obsolete version may be moved into a separate package for the next version-breaking upgrade.

Extending RandN

It's easy to extend RandN with both new RNG algorithms and new distributions. RandN includes many utility methods to make creating new RNGs and distributions easy under the RandN.Implementation namespace.