Orthogonal. |
| Class | Description | |
|---|---|---|
| RandBurtle | Bob Burtle's small and fast noncryptographic PRNG (circa 2009). See burtleburtle.net. | |
| RandCustomBase | 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. | |
| RandEcuyer88 |
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. Obsolete | |
| RandEcuyer88S |
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. Obsolete | |
| RandEcuyerLFSR113 |
Piere L'Ecuyer's 1999 LFSR113 generator that combines 4 component 32-bit LFSRs.
The class remains in this library as a historical reference. Obsolete | |
| RandEcuyerLFSR258 |
Piere L'Ecuyer's 1999 LFSR258 generator that combines 5 component 64-bit LFSRs.
The class remains in this library as a historical reference. Obsolete | |
| RandEcuyerMRG63k3a |
Pierre L'Ecuyer's 1999 MRG63k3a random number generator.
The class remains in this library as a historical reference. Obsolete | |
| RandIsaac | The ISAAC random number generator algorithm by Bob Jenkins | |
| RandMT | 32-bit implementation of the Mersenne Twister random number generator algorithm by Makoto Matsumoto and Takuji Nishimura. | |
| RandMT64 | 64-bit implementation of the Mersenne Twister random number generator algorithm by Makoto Matsumoto and Takuji Nishimura. | |
| RandXoshiro256PlusPlus | An implementation of the xoshiro256++ PRNG which stores state in 4 x 64-bit numbers. The authors call it: one of our all-purpose, rock-solid generators. It has excellent(sub-ns) speed, a state(256 bits) that is large enough for any parallel application, and it passes all tests we are aware of. | |
| RandXoshiro512PlusPlus | An implementation of the xoshiro512++ PRNG which stores state in 8 x 64-bit numbers. The authors call it: one of our all-purpose, rock-solid generators. It has excellent(sub-ns) speed, a state(512 bits) that is large enough for any parallel application, and it passes all tests we are aware of. | |
| SplitMix | SplitMix uses a simple internal state transition (a Weyl sequence based on adding a constant related to the golden ratio) combined with a fast, invertible mixing function to produce high-quality output bits. |
| Interface | Description | |
|---|---|---|
| IRandom | 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. |