Table of Contents

Class LCG48

Namespace
LibGameAI.PRNG
Assembly
PRNG.dll

C# reimplementation of Java's PRNG, a linear congruential generator (LCG).

public class LCG48 : Random
Inheritance
LCG48
Inherited Members

Remarks

Constructors

LCG48()

public LCG48()

LCG48(int)

public LCG48(int seed)

Parameters

seed int

LCG48(long)

public LCG48(long seed)

Parameters

seed long

Methods

Next()

Returns a non-negative random integer.

public override int Next()

Returns

int

A 32-bit signed integer that is greater than or equal to 0 and less than MaxValue.

Next(int, int)

Returns a random integer that is within a specified range.

public override int Next(int minValue, int maxValue)

Parameters

minValue int

The inclusive lower bound of the random number returned.

maxValue int

The exclusive upper bound of the random number returned. 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.

Exceptions

ArgumentOutOfRangeException

minValue is greater than maxValue.

NextBytes(byte[])

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

public override void NextBytes(byte[] buffer)

Parameters

buffer byte[]

An array of bytes to contain random numbers.

Exceptions

ArgumentNullException

buffer is null.

Sample()

Returns a random floating-point number between 0.0 and 1.0.

protected override double Sample()

Returns

double

A double-precision floating point number that is greater than or equal to 0.0, and less than 1.0.