Constructor
new XORShift32()
Implements the XORShift32 algorithm to generate pseudorandom numbers.
This class provides the XORShift32 method of generating psuedorandom numbers to the PRNG class. It uses bitwise operations to generate a sequence of pseudorandom 32-bit unsigned integers.
The XORShift algorithm was written by Geogrge Marsaglia in 2003 and is released to the public domain, meaning it can be freely used, modified, and distributed without restrictions.
- See
- Marsaglia, G. (2003) "XORShift RNGs", Journal of Statistical Software https://www.jstatsoft.org/article/view/v008i14
const rng = new XORShift32(123456789);
console.log(rng.next()); // Generates a pseudorandom number
Extends
Classes
- XORShift32
Implements the XORShift32 algorithm to generate pseudorandom numbers.
Methods
maxValue() → {number}
Returns the maximum possible value of XORShift32.
- Overrides
The maximum value (2^32).
- Type:
- number
next() → {number}
Generates the next psuedo-random number.
- Overrides
A number in the range [0-1).
- Type:
- number
// Returns a random number in the range [0-1)
const rng = new XORShift32();
console.log(rng.next());
randomBipolarFloat() → {number}
Generate a random float in the range [-1, 1).
- Overrides
- A number between -1 (inclusive) and 1 (exclusive).
- Type:
- number
randomChance(chanceopt) → {boolean}
Returns a boolean based on a specified probability.
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
chance | number | <optional> | 0.5 | The probability of returning true (between 0 and 1). |
- Overrides
- True if the random float is less than the chance, otherwise false.
- Type:
- boolean
randomElement(array) → {*}
Select a random element from an array.
Name | Type | Description |
---|---|---|
array | array | The array from which to select an element. |
- Overrides
- A randomly selected element from the array.
- Type:
- *
randomFloat() → {number}
Generate a random float in the range [0, 1).
- Overrides
- A number between 0 (inclusive) and 1 (exclusive).
- Type:
- number
randomInteger(min, max) → {number}
Generate a random integer from a specified range of values.
Name | Type | Description |
---|---|---|
min | number | The minimum integer value (inclusive). |
max | number | The maximum integer value (exclusive). |
- Overrides
- 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.
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
choices | Array.<Object> | An array of objects with Properties
|
- Overrides
- The selected option.
- Type:
- function |
number | string