LCG

LCG (Linear Congruential Generator) Pseudorandom Number Generator Class

Constructor

new LCG(seed)

Implements the LCG algorithm to generate pseudorandom numbers.

This class provides the LCG method of generating psuedorandom numbers to the PRNG class.

Parameters:
NameTypeDescription
seednumber

The seed value for the LCG PRNG.

Example
const rng = new LCG(123456789);
console.log(rng.next()); // Generates a pseudorandom number

Extends

Classes

LCG

Implements the LCG algorithm to generate pseudorandom numbers.

Methods

maxValue() → {number}

Returns the maximum possible value of the LCG.

Overrides
Returns:

The maximum value (2^32).

Type: 
number

next() → {number}

Generates the next pseudorandom number.

Overrides
Returns:

A pseudorandom number in the range [0-1).

Type: 
number

randomBipolarFloat() → {number}

Generate a random float in the range [-1, 1).

Returns:
  • A number between -1 (inclusive) and 1 (exclusive).
Type: 
number

randomChance(chanceopt) → {boolean}

Returns a boolean based on a specified probability.

Parameters:
NameTypeAttributesDefaultDescription
chancenumber<optional>
0.5

The probability of returning true (between 0 and 1).

Returns:
  • True if the random float is less than the chance, otherwise false.
Type: 
boolean

randomElement(array) → {*}

Select a random element from an array.

Parameters:
NameTypeDescription
arrayarray

The array from which to select an element.

Returns:
  • A randomly selected element from the array.
Type: 
*

randomFloat() → {number}

Generate a random float in the range [0, 1).

Returns:
  • A number between 0 (inclusive) and 1 (exclusive).
Type: 
number

randomInteger(min, max) → {number}

Generate a random integer from a specified range of values.

Parameters:
NameTypeDescription
minnumber

The minimum integer value (inclusive).

maxnumber

The maximum integer value (exclusive).

Returns:
  • A random integer between min (inclusive) and max (exclusive).
Type: 
number

randomWeighted(choices) → {function|number|string}

Selects an option probabalistically from a set of weighted choices.

Parameters:
NameTypeDescription
choicesArray.<Object>

An array of objects with option and weight properties.

Properties
NameTypeDescription
optionfunction | number | string

The outcome of the choice.

weightnumber

The weight of the choice. Higher weights (relative to the other choices) increase the likelihood of selection.

Returns:
  • The selected option.
Type: 
function | number | string