Namespaces

Types in MathNet.Numerics.Random

Type WH1982

Namespace MathNet.Numerics.Random

Parent RandomSource

Wichmann-Hill’s 1982 combined multiplicative congruential generator.
See: Wichmann, B. A. & Hill, I. D. (1982), "Algorithm AS 183: An efficient and portable pseudo-random number generator". Applied Statistics 31 (1982) 188-190

Constructors

Static Functions

Methods

Public Constructors

WH1982(int seed, bool threadSafe)

Initializes a new instance of the WH1982 class.
The seed is set to 1, if the zero is used as the seed.
Parameters
int seed

The seed value.

bool threadSafe

if set to true , the class is thread safe.

WH1982(bool threadSafe)

Initializes a new instance of the WH1982 class using a seed based on time and unique GUIDs.
Parameters
bool threadSafe

if set to true , the class is thread safe.

WH1982()

Initializes a new instance of the WH1982 class using a seed based on time and unique GUIDs.

WH1982(int seed)

Initializes a new instance of the WH1982 class.
If the seed value is zero, it is set to one. Uses the value of ThreadSafeRandomNumberGenerators to set whether the instance is thread safe.
Parameters
int seed

The seed value.

Public Static Functions

void Doubles(Double[] values, int seed)

Fills an array with random numbers greater than or equal to 0.0 and less than 1.0.
Supports being called in parallel from multiple threads.

Double[] Doubles(int length, int seed)

Returns an array of random numbers greater than or equal to 0.0 and less than 1.0.
Supports being called in parallel from multiple threads.

IEnumerable<double> DoubleSequence(int seed)

Returns an infinite sequence of random numbers greater than or equal to 0.0 and less than 1.0.
Supports being called in parallel from multiple threads, but the result must be enumerated from a single thread each.

Public Methods

bool Equals(object obj)

int GetHashCode()

Type GetType()

void NextBytes(Byte[] buffer)

Fills the elements of a specified array of bytes with random numbers.
Parameters
Byte[] buffer

An array of bytes to contain random numbers.

double NextDouble()

void NextDoubles(Double[] values)

Fills an array with uniform random numbers greater than or equal to 0.0 and less than 1.0.
Parameters
Double[] values

The array to fill with random values.

Double[] NextDoubles(int count)

Returns an array of uniform random numbers greater than or equal to 0.0 and less than 1.0.
Parameters
int count

The size of the array to fill.

IEnumerable<double> NextDoubleSequence()

Returns an infinite sequence of uniform random numbers greater than or equal to 0.0 and less than 1.0.

void NextInt32s(Int32[] values, int minInclusive, int maxExclusive)

Fills an array with random numbers within a specified range.
Parameters
Int32[] values

The array to fill with random values.

int minInclusive

The inclusive lower bound of the random number returned.

int maxExclusive

The exclusive upper bound of the random number returned. Range: maxExclusive > minExclusive.

Int32[] NextInt32s(int count, int minInclusive, int maxExclusive)

Returns an array with random 32-bit signed integers within the specified range.
Parameters
int count

The size of the array to fill.

int minInclusive

The inclusive lower bound of the random number returned.

int maxExclusive

The exclusive upper bound of the random number returned. Range: maxExclusive > minExclusive.

Int32[] NextInt32s(int count, int maxExclusive)

Returns an array with random 32-bit signed integers within the specified range.
Parameters
int count

The size of the array to fill.

int maxExclusive

The exclusive upper bound of the random number returned. Range: maxExclusive ≥ 1.

void NextInt32s(Int32[] values, int maxExclusive)

Fills an array with random numbers within a specified range.
Parameters
Int32[] values

The array to fill with random values.

int maxExclusive

The exclusive upper bound of the random number returned. Range: maxExclusive ≥ 1.

Int32[] NextInt32s(int count)

Returns an array with random 32-bit signed integers greater than or equal to zero and less than MaxValue.
Parameters
int count

The size of the array to fill.

void NextInt32s(Int32[] values)

Fills an array with random 32-bit signed integers greater than or equal to zero and less than MaxValue.
Parameters
Int32[] values

The array to fill with random values.

IEnumerable<int> NextInt32Sequence(int minInclusive, int maxExclusive)

Returns an infinite sequence of random numbers within a specified range.
Parameters
int minInclusive

The inclusive lower bound of the random number returned.

int maxExclusive

The exclusive upper bound of the random number returned. Range: maxExclusive > minExclusive.

IEnumerable<int> NextInt32Sequence()

Returns an infinite sequence of random 32-bit signed integers greater than or equal to zero and less than MaxValue.

string ToString()