{{alias}}() Returns a pseudorandom integer on the interval `[1, 2147483646]`. This pseudorandom number generator (PRNG) is a linear congruential pseudorandom number generator (LCG) whose output is shuffled using the Bays- Durham algorithm. The shuffle step considerably strengthens the "randomness quality" of a simple LCG's output. The generator has a period of approximately `2.1e9`. An LCG is fast and uses little memory. On the other hand, because the generator is a simple LCG, the generator has recognized shortcomings. By today's PRNG standards, the generator's period is relatively short. In general, this generator is unsuitable for Monte Carlo simulations and cryptographic applications. Returns ------- r: integer Pseudorandom number. Examples -------- > var r = {{alias}}(); {{alias}}.normalized() Returns a pseudorandom number on the interval `[0,1)`. Returns ------- r: number Pseudorandom number. Examples -------- > var r = {{alias}}.normalized(); {{alias}}.factory( [options] ) Returns a linear congruential pseudorandom number generator (LCG) whose output is shuffled. Parameters ---------- options: Object (optional) Options. options.seed: integer|ArrayLikeObject (optional) Pseudorandom number generator seed. The seed may be either a positive signed 32-bit integer on the interval `[1, 2147483646]` or, for arbitrary length seeds, an array-like object containing signed 32-bit integers. options.state: Int32Array (optional) Pseudorandom number generator state. If provided, the `seed` option is ignored. options.copy: boolean (optional) Boolean indicating whether to copy a provided pseudorandom number generator state. Setting this option to `false` allows sharing state between two or more pseudorandom number generators. Setting this option to `true` ensures that a returned generator has exclusive control over its internal state. Default: true. Returns ------- rand: Function Pseudorandom number generator (PRNG). Examples -------- // Basic usage: > var rand = {{alias}}.factory(); > r = rand(); > r = rand(); // Provide a seed: > rand = {{alias}}.factory( { 'seed': 1234 } ); > r = rand() 1421600654 {{alias}}.NAME Generator name. Examples -------- > var str = {{alias}}.NAME 'minstd-shuffle' {{alias}}.MIN Minimum possible value. Examples -------- > var v = {{alias}}.MIN 1 {{alias}}.MAX Maximum possible value. Examples -------- > var v = {{alias}}.MAX 2147483646 {{alias}}.seed Pseudorandom number generator seed. Examples -------- > var seed = {{alias}}.seed; {{alias}}.seedLength Length of generator seed. Examples -------- > var len = {{alias}}.seedLength; {{alias}}.state Generator state. Examples -------- > var r = {{alias}}() > r = {{alias}}() > r = {{alias}}() // Get a copy of the current state: > var state = {{alias}}.state > r = {{alias}}() > r = {{alias}}() // Set the state: > {{alias}}.state = state; // Replay the last two pseudorandom numbers: > r = {{alias}}() > r = {{alias}}() {{alias}}.stateLength Length of generator state. Examples -------- > var len = {{alias}}.stateLength; {{alias}}.byteLength Size (in bytes) of generator state. Examples -------- > var sz = {{alias}}.byteLength; {{alias}}.toJSON() Serializes the pseudorandom number generator as a JSON object. Returns ------- out: Object JSON representation. Examples -------- > var o = {{alias}}.toJSON() { 'type': 'PRNG', 'name': '...', 'state': {...}, 'params': [] } See Also --------