Click or drag to resize

Orthogonal.Common.Basic.PRNG Namespace

Pseudo-random number generators.
Classes
 ClassDescription
Public classRandBurtle Bob Burtle's small and fast noncryptographic PRNG (circa 2009). See burtleburtle.net.
Public classRandCustomBase An abstract base class for all custom random number generating classes in this library that are compatible with the standard Random class. Derived classes only need to override the SampleCore method and all other methods will have correct and expected behaviour. Other standard methods can be overridden by derived classes if they can implement their functionality in a superior or more efficient manner.
Public classRandEcuyer88Obsolete.
Pierre L'Ecuyer's 1988 random number generator that combines two 32-bit MLCGs for a period of approximately 1018. This is the plain original 1988 algorithm without any safeguards or adjustments like those found in the RandEcuyer88S class. The class remains in this library as a historical reference.
Public classRandEcuyer88SObsolete.
An enhanced version of the RandEcuyer88 class with the safeguard of a Bays-Durham shuffle (see P.282 of NRC - PDF). The class remains in this library as a historical reference.
Public classRandEcuyerLFSR113Obsolete.
Piere L'Ecuyer's 1999 LFSR113 generator that combines 4 component 32-bit LFSRs. The class remains in this library as a historical reference.
Public classRandEcuyerLFSR258Obsolete.
Piere L'Ecuyer's 1999 LFSR258 generator that combines 5 component 64-bit LFSRs. The class remains in this library as a historical reference.
Public classRandEcuyerMRG63k3aObsolete.
Pierre L'Ecuyer's 1999 MRG63k3a random number generator. The class remains in this library as a historical reference.
Public classRandIsaac The ISAAC random number generator algorithm by Bob Jenkins
Public classRandMT 32-bit implementation of the Mersenne Twister random number generator algorithm by Makoto Matsumoto and Takuji Nishimura.
Public classRandMT64 64-bit implementation of the Mersenne Twister random number generator algorithm by Makoto Matsumoto and Takuji Nishimura.
Public classRandXoroshiro128PlusPlus An implementation of the xoroshiro128++ PRNG which stores state in 4 x 32-bit numbers.
Public classRandXoroshiro256PlusPlus An implementation of the xoroshiro256++ PRNG which stores state in 4 x 64-bit numbers.
Interfaces
 InterfaceDescription
Public interfaceIRandom An interface that defines the minimum functionality implemented by all library classes that are derived from the standard Random class. The .NET class does not implement an interface, but one was added for all derived classes in this library so they can be used interchangably and to simplify testing code.