XorShift128Generator Type

Represents a xorshift pseudo-random number generator with period 2^128-1.

The XorShift128Generator type bases upon the implementation presented in the CP article "A fast equivalent for System.Random" and the theoretical background on xorshift random number generators published by George Marsaglia in this paper "Xorshift RNGs".

Constructors

Constructor Description

XorShift128Generator()

Full Usage: XorShift128Generator()

Initializes a new instance of the XorShift128Generator class, using a time-dependent default seed value.

XorShift128Generator(seed)

Full Usage: XorShift128Generator(seed)

Parameters:
    seed : int - A number used to calculate a starting value for the pseudo-random number sequence. If a negative number is specified, the absolute value of the number is used.

Initializes a new instance of the XorShift128Generator class, using the specified seed value.

seed : int

A number used to calculate a starting value for the pseudo-random number sequence. If a negative number is specified, the absolute value of the number is used.

XorShift128Generator(seed)

Full Usage: XorShift128Generator(seed)

Parameters:
    seed : uint32 - An unsigned number used to calculate a starting value for the pseudo-random number sequence.

Initializes a new instance of the XorShift128Generator class, using the specified seed value.

seed : uint32

An unsigned number used to calculate a starting value for the pseudo-random number sequence.

Instance members

Instance member Description

this.CanReset

Full Usage: this.CanReset

Returns: bool
Modifiers: abstract

Gets a value indicating whether the XorShift128Generator can be reset, so that it produces the same pseudo-random number sequence again.

Returns: bool

this.Next

Full Usage: this.Next

Returns: int A 32-bit signed integer greater than or equal to 0, and less than Int32.MaxValue; that is, the range of return values includes 0 but not Int32.MaxValue.
Modifiers: abstract

Returns a nonnegative random number less than Int32.MaxValue.

Returns: int

A 32-bit signed integer greater than or equal to 0, and less than Int32.MaxValue; that is, the range of return values includes 0 but not Int32.MaxValue.

this.Next

Full Usage: this.Next

Parameters:
    maxValue : int - The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to 0.

Returns: int A 32-bit signed integer greater than or equal to 0, and less than maxValue; that is, the range of return values includes 0 but not maxValue.
Modifiers: abstract

Returns a nonnegative random number less than the specified maximum.

maxValue : int

The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to 0.

Returns: int

A 32-bit signed integer greater than or equal to 0, and less than maxValue; that is, the range of return values includes 0 but not maxValue.

ArgumentOutOfRangeException maxValue is less than 0.

this.Next

Full Usage: this.Next

Parameters:
    minValue : int - The inclusive lower bound of the random number to be generated.
    maxValue : int - The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to minValue.

Returns: int A 32-bit signed integer greater than or equal to minValue, and less than maxValue; that is, the range of return values includes minValue but not maxValue. If minValue equals maxValue, minValue is returned.
Modifiers: abstract

Returns a random number within the specified range.

minValue : int

The inclusive lower bound of the random number to be generated.

maxValue : int

The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to minValue.

Returns: int

A 32-bit signed integer greater than or equal to minValue, and less than maxValue; that is, the range of return values includes minValue but not maxValue. If minValue equals maxValue, minValue is returned.

ArgumentOutOfRangeException minValue is greater than maxValue.

this.NextBoolean

Full Usage: this.NextBoolean

Returns: bool A Boolean value.
Modifiers: abstract

Returns a random Boolean value.

Buffers 32 random bits (1 uint) for future calls, so a new random number is only generated every 32 calls.

Returns: bool

A Boolean value.

this.NextBytes

Full Usage: this.NextBytes

Parameters:
    buffer : byte[] - An array of bytes to contain random numbers.

Modifiers: abstract

Fills the elements of a specified array of bytes with random numbers.

Each element of the array of bytes is set to a random number greater than or equal to 0, and less than or equal to Byte.MaxValue.

buffer : byte[]

An array of bytes to contain random numbers.

ArgumentNullException buffer is a null reference ( in Visual Basic).

this.NextDouble

Full Usage: this.NextDouble

Returns: float A double-precision floating point number greater than or equal to 0.0, and less than 1.0; that is, the range of return values includes 0.0 but not 1.0.
Modifiers: abstract

Returns a nonnegative floating point random number less than 1.0.

Returns: float

A double-precision floating point number greater than or equal to 0.0, and less than 1.0; that is, the range of return values includes 0.0 but not 1.0.

this.NextDouble

Full Usage: this.NextDouble

Parameters:
    maxValue : float - The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to 0.0.

Returns: float A double-precision floating point number greater than or equal to 0.0, and less than maxValue; that is, the range of return values includes 0 but not maxValue.
Modifiers: abstract

Returns a nonnegative floating point random number less than the specified maximum.

maxValue : float

The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to 0.0.

Returns: float

A double-precision floating point number greater than or equal to 0.0, and less than maxValue; that is, the range of return values includes 0 but not maxValue.

ArgumentOutOfRangeException maxValue is less than 0.

this.NextDouble

Full Usage: this.NextDouble

Parameters:
    minValue : float - The inclusive lower bound of the random number to be generated. The range between minValue and maxValue must be less than or equal to Double.MaxValue
    maxValue : float - The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to minValue. The range between minValue and maxValue must be less than or equal to Double.MaxValue.

Returns: float A double-precision floating point number greater than or equal to minValue, and less than maxValue; that is, the range of return values includes minValue but not maxValue. If minValue equals maxValue, minValue is returned.
Modifiers: abstract

Returns a floating point random number within the specified range.

minValue : float

The inclusive lower bound of the random number to be generated. The range between minValue and maxValue must be less than or equal to Double.MaxValue

maxValue : float

The exclusive upper bound of the random number to be generated. maxValue must be greater than or equal to minValue. The range between minValue and maxValue must be less than or equal to Double.MaxValue.

Returns: float

A double-precision floating point number greater than or equal to minValue, and less than maxValue; that is, the range of return values includes minValue but not maxValue. If minValue equals maxValue, minValue is returned.

ArgumentOutOfRangeException minValue is greater than maxValue.
ArgumentException The range between minValue and maxValue is greater than Double.MaxValue.

this.NextInclusiveMaxValue

Full Usage: this.NextInclusiveMaxValue

Returns: int A 32-bit signed integer greater than or equal to 0, and less than or equal to Int32.MaxValue; that is, the range of return values includes 0 and Int32.MaxValue.

Returns a nonnegative random number less than or equal to Int32.MaxValue.

Returns: int

A 32-bit signed integer greater than or equal to 0, and less than or equal to Int32.MaxValue; that is, the range of return values includes 0 and Int32.MaxValue.

this.NextUInt

Full Usage: this.NextUInt

Returns: uint32 A 32-bit unsigned integer greater than or equal to UInt32.MinValue and less than or equal to UInt32.MaxValue.

Returns an unsigned random number.

Returns: uint32

A 32-bit unsigned integer greater than or equal to UInt32.MinValue and less than or equal to UInt32.MaxValue.

this.Reset

Full Usage: this.Reset

Returns: bool .
Modifiers: abstract

Resets the XorShift128Generator, so that it produces the same pseudo-random number sequence again.

Returns: bool

.