WrappedRandomSource<TRng> Class

A Random adapter over a Numerics.NET random number generator.

Definition

Namespace: Numerics.NET.Random.Adapters
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.3.0
C#
public sealed class WrappedRandomSource<TRng> : Random
where TRng : class, IRandomSource
Inheritance
Object  →  Random  →  WrappedRandomSource<TRng>

Type Parameters

TRng
The random source type, which must be a class implementing IRandomSource.

Remarks

WrappedRandomSource<TRng> enables usage of Numerics.NET RNGs in APIs that require Random. All random generation methods forward directly to the Underlying random source.

Interoperability Boundary:

This wrapper is strictly an interop adapter, not a performance mechanism:

  • No caching guarantees: Repeated calls to AsRandom() may allocate new wrapper instances. Users should not rely on wrapper identity.
  • No thread-safety improvements: Thread-safety behavior is entirely inherited from the underlying RNG.
  • State preservation: The wrapper stores the RNG instance exactly (no copies, no cloning), so state mutations affect the original instance.

Round-tripping:

Calling AsRandomSource() on a WrappedRandomSource<TRng> returns the original Underlying instance, preserving identity.

Constructors

WrappedRandomSource<TRng> Initializes a new instance of the WrappedRandomSource<TRng> class.

Properties

BitsPerWord Gets the number of bits per word in the generator's native output.
Underlying Gets the underlying Numerics.NET random number generator.

Methods

EqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
GetHashCodeServes as the default hash function.
(Inherited from Object)
GetHexString(Int32, Boolean)Creates a string filled with random hexadecimal characters.
(Inherited from Random)
GetHexString(Span<Char>, Boolean)Fills a buffer with random hexadecimal characters.
(Inherited from Random)
GetItems<T>(T[], Int32)Creates an array populated with items chosen at random from the provided set of choices.
(Inherited from Random)
GetItems<T>(ReadOnlySpan<T>, Int32)Creates an array populated with items chosen at random from the provided set of choices.
(Inherited from Random)
GetItems<T>(ReadOnlySpan<T>, Span<T>)Fills the elements of a specified span with items chosen at random from the provided set of choices.
(Inherited from Random)
GetStringCreates a string populated with characters chosen at random from choices.
(Inherited from Random)
GetTypeGets the Type of the current instance.
(Inherited from Object)
Next() Returns a non-negative random integer.
(Overrides Random.Next())
Next(Int32) Returns a non-negative random integer less than the specified maximum.
(Overrides Random.Next(Int32))
Next(Int32, Int32) Returns a random integer within a specified range.
(Overrides Random.Next(Int32, Int32))
NextBytes(Byte[]) Fills the elements of a specified array of bytes with random numbers.
(Overrides Random.NextBytes(Byte[]))
NextBytes(Span<Byte>) Fills the elements of a specified span of bytes with random numbers.
(Overrides Random.NextBytes(Span<Byte>))
NextDouble Returns a random floating-point number in the range [0.0, 1.0).
(Overrides Random.NextDouble())
NextInt64() Returns a non-negative random 64-bit integer.
(Overrides Random.NextInt64())
NextInt64(Int64) Returns a non-negative random 64-bit integer less than the specified maximum.
(Overrides Random.NextInt64(Int64))
NextInt64(Int64, Int64) Returns a random 64-bit integer within a specified range.
(Overrides Random.NextInt64(Int64, Int64))
NextSingle Returns a random single-precision floating-point number in the range [0.0, 1.0).
(Overrides Random.NextSingle())
NextUInt32 Returns a random 32-bit unsigned integer.
NextUInt64 Returns a random 64-bit unsigned integer.
Shuffle<T>(T[])Performs an in-place shuffle of an array.
(Inherited from Random)
Shuffle<T>(Span<T>)Performs an in-place shuffle of a span.
(Inherited from Random)
ToStringReturns a string that represents the current object.
(Inherited from Object)

Extension Methods

AsRandomSource Converts a Random to a random source.
(Defined by RandomInteropExtensions)
CorrelatedSamples Generates a series of random variables with the specified correlation matrix.
(Defined by RandomSamplingExtensions)
Fill Fills a Double array with random numbers.
(Defined by RandomExtensions)
Fill Fills an Int32 array with random numbers.
(Defined by RandomExtensions)
Fill Fills a span with random samples from the specified continuous distribution.
(Defined by RandomSamplingExtensions)
Fill Fills a span with random samples from the specified discrete distribution.
(Defined by RandomSamplingExtensions)
Fill Fills a vector with random samples from the specified continuous distribution.
(Defined by RandomSamplingExtensions)
Fill Fills a Double array with random numbers.
(Defined by RandomExtensions)
Fill Fills an Int32 array with random numbers.
(Defined by RandomExtensions)
Fill Fills part of an array with random samples from the specified continuous distribution.
(Defined by RandomExtensions)
Fill Fills part of an array with random samples from the specified discrete distribution.
(Defined by RandomExtensions)
FillNormal Fills a list with normal random numbers with zero mean and unit standard deviation.
(Defined by RandomExtensions)
FillNormal Fills a list with normal random numbers with zero mean and unit standard deviation.
(Defined by RandomExtensions)
FillWithoutReplacement Populates the specified span with numbers chosen at random between 0 and the provided count without replacement.
(Defined by RandomExtensions)
GetItemsWithoutReplacement<T> Creates an array populated with items chosen at random from the provided set of choices without replacement.
(Defined by RandomExtensions)
GetItemsWithoutReplacement<T> Populates the specified span with items chosen at random from the provided set of choices without replacement.
(Defined by RandomExtensions)
GetItemsWithoutReplacement<T> Creates an array populated with items chosen at random from the provided set of choices without replacement.
(Defined by RandomExtensions)
Next Generates a random sample from the specified discrete distribution.
(Defined by RandomSamplingExtensions)
Next Generates an array of random samples from the specified continuous distribution.
(Defined by RandomSamplingExtensions)
Next Generates an array of random samples from the specified discrete distribution.
(Defined by RandomSamplingExtensions)
NextDouble Generates a random sample from the specified continuous distribution.
(Defined by RandomSamplingExtensions)
NextUInt32 Returns a random 64-bit integer.
(Defined by RandomExtensions)
NextUInt32 Returns a random unsigned integer less than the specified value.
(Defined by RandomExtensions)
NextUInt64 Returns a random 64-bit integer.
(Defined by RandomExtensions)
NextUInt64 Returns a non-negative random integer that is less than the specified maximum.
(Defined by RandomExtensions)
TryUnwrap Attempts to unwrap a Random to recover the underlying random source.
(Defined by RandomInteropExtensions)
TryUnwrap<T> Attempts to unwrap a Random to recover the underlying random source with the exact specified type.
(Defined by RandomInteropExtensions)

See Also