Numerics.NET.Random Namespace

The Numerics.NET.Random namespace contains classes that represent random number generators and related classes.

Classes

ChaCha Represents a cryptographically secure pseudo-random number generator based on the ChaCha20 algorithm.
CounterBasedRandomSource<TGenerator, TWord> Base class for counter-based random number generators using Layer 2 generators.
GFSR Represents a pseudo-random number generator based on the Generalized Feedback Shift Register (GFSR) algorithm.
MersenneTwister Represents a pseudo-random number generator based on the Mersenne Twister MT19937 algorithm.
MersenneTwister64 Represents a pseudo-random number generator based on the MT19937-64 algorithm.
Pcg32 Represents a pseudo-random number generator based on the PCG32 XSH-RR algorithm.
Pcg64 Represents a pseudo-random number generator based on the PCG64 XSL-RR algorithm with full 128-bit multiplier.
Pcg64Dxsm Represents a pseudo-random number generator based on the PCG64 DXSM algorithm.
Philox4x32 Represents a counter-based pseudo-random number generator based on the Philox 4x32 algorithm.
Philox4x64 Represents a counter-based pseudo-random number generator based on the Philox 4x64 algorithm.
QuasiRandom Contains methods that generate quasi-random sequences.
RandomEnumerator<T> Iterates over the items of a collection in a random manner. Every member of the collection is used exactly once.
RandomGeneratorExtensions Provides internal helper methods for Numerics.NET random generator implementations.
RandomInteropExtensions Provides extension methods for interoperability between Numerics.NET random sources and Random.
RandomizedCollection<T> Represents a collection whose elements are enumerated in random order.
RandomOptionsExtensions Extension methods for RandomOptions.
RandomSource<TGenerator> Base class for non-counter-based random number generators using Layer 2 generators.
RandomSourceExtensions Provides extension methods for Numerics.NET random sources (IRandomSource).
RandomStreamPartition<TRandom> Implements hierarchical random stream generation using jump-based partitioning.
RandomStreams Provides static extension methods for bulk random stream creation.
RandomStreamSource<TRandom> Provides a base implementation for hierarchical random stream sources.
RandomStreamTree<TRandom> Implements hierarchical random stream generation using mixing-based seed derivation.
RanLux Represents a RanLux pseudo-random number generator
RanLux24 Represents a RanLux pseudo-random number generator
SeedSequence Represents a stateful deterministic entropy stream derived from a primary seed.
SeedSequences Provides factory methods for creating SeedSequence instances with well-defined, cross-platform reproducible behavior.
Sfc64 Represents a pseudo-random number generator based on the SFC64 algorithm.
Shuffler Contains methods for shuffling (randomizing) the members of a collection.
Obsolete
SobolSequenceGenerator Represents a generator of Sobol sequences of the specified dimension.
SplitMix64 Represents a pseudo-random number generator based on the SplitMix64 algorithm.
ThreadSafeRandomSource A thread-safe random number generator source that provides per-thread instances of a specified generator type.
Threefry4x64 Represents a counter-based pseudo-random number generator based on the Threefry 4x64 algorithm.
WyRand Represents a pseudo-random number generator based on the WyRand algorithm.
Xoroshiro128PlusPlus Represents a pseudo-random number generator based on the Xoroshiro128++ algorithm.
Xoshiro128Plus Represents a pseudo-random number generator based on the Xoshiro128+ algorithm.
Xoshiro128StarStar Represents a pseudo-random number generator based on the Xoshiro128** algorithm.
Xoshiro256Plus Represents a pseudo-random number generator based on the Xoshiro256+ algorithm.
Xoshiro256PlusPlus Represents a pseudo-random number generator based on the Xoshiro256++ algorithm.
Xoshiro256StarStar Represents a pseudo-random number generator based on the Xoshiro256** algorithm.

Structures

RandomOptions Immutable initialization options for 64-bit random number generators.
RandomSource<TGenerator>.UncachedFacade Provides uncached random number generation for 64-bit word RNGs.
StreamAddress Represents a hierarchical stream address for random number generators.

Interfaces

IAdvanceable Represents an RNG that can be moved forward by a specific delta in O(log delta) time.
IBlockRandomGenerator Represents a block-based random number generator that produces fixed-size blocks of random data.
IJumpable Represents an RNG that supports jumping by large, fixed strides.
IRandomGenerator Represents a random number generator that provides primitive integer and byte generation operations.
IRandomSource Represents a modern random number generator with a consistent API surface.
IRandomSource<TGenerator> Represents a random number generator with typed access to its underlying Layer 2 generator.
IRandomSourceFactory<TRandom> Defines a factory interface for creating and copying random number generators.
IRandomStreamSource<TRandom> Defines a source for hierarchical streams of random number generators.
IStateful Represents an object that supports portable state persistence.

Enumerations

ChaChaVariant Specifies the variant of the ChaCha stream cipher algorithm.
JumpStride Specifies the stride size for jump-based stream partitioning.
RandomJumpSize Specifies the canonical jump distance supported by a jumpable random number generator.
RanLuxLuxuryLevel Enumerates possible values for the LuxuryLevel of a RanLux random number generator.
SeedProfile Specifies how seed material and stream indices are interpreted and expanded into RNG state.