183 lines
3.9 KiB
Plaintext
183 lines
3.9 KiB
Plaintext
|
|
{{alias}}()
|
|
Returns a pseudorandom number drawn from a uniform distribution.
|
|
|
|
The default underlying pseudorandom number generator (PRNG) *may* change in
|
|
the future. If exact reproducibility is required, either use the `factory`
|
|
method to explicitly specify a PRNG via the `name` option or use an
|
|
underlying PRNG directly.
|
|
|
|
Returns
|
|
-------
|
|
r: number
|
|
Pseudorandom number on the interval `[0,1)`.
|
|
|
|
Examples
|
|
--------
|
|
> var r = {{alias}}();
|
|
|
|
|
|
{{alias}}.factory( [options] )
|
|
Returns a pseudorandom number generator (PRNG) for generating pseudorandom
|
|
numbers drawn from a uniform distribution.
|
|
|
|
Parameters
|
|
----------
|
|
options: Object (optional)
|
|
Options.
|
|
|
|
options.name: string (optional)
|
|
Name of the underlying pseudorandom number generator (PRNG). The
|
|
following PRNGs are supported:
|
|
|
|
- mt19937: 32-bit Mersenne Twister.
|
|
- minstd: linear congruential PRNG based on Park and Miller.
|
|
- minstd-shuffle: linear congruential PRNG whose output is shuffled.
|
|
|
|
Default: 'mt19937'.
|
|
|
|
options.seed: any (optional)
|
|
Pseudorandom number generator seed. Valid seed values vary according to
|
|
the underlying PRNG.
|
|
|
|
options.state: any (optional)
|
|
Pseudorandom number generator state. Valid state values vary according
|
|
to the underlying PRNG. 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();
|
|
> var r = rand();
|
|
> r = rand();
|
|
|
|
// Specify alternative PRNG:
|
|
> var rand = {{alias}}.factory({ 'name': 'minstd' });
|
|
> r = rand();
|
|
> r = rand();
|
|
|
|
|
|
{{alias}}.NAME
|
|
Generator name.
|
|
|
|
Examples
|
|
--------
|
|
> var str = {{alias}}.NAME
|
|
'randu'
|
|
|
|
|
|
{{alias}}.PRNG
|
|
Underlying pseudorandom number generator.
|
|
|
|
Examples
|
|
--------
|
|
> var prng = {{alias}}.PRNG;
|
|
|
|
|
|
{{alias}}.MIN
|
|
Minimum possible value (specific to underlying PRNG).
|
|
|
|
Examples
|
|
--------
|
|
> var v = {{alias}}.MIN;
|
|
|
|
|
|
{{alias}}.MAX
|
|
Maximum possible value (specific to underlying PRNG).
|
|
|
|
Examples
|
|
--------
|
|
> var v = {{alias}}.MAX;
|
|
|
|
|
|
{{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}}()
|
|
<number>
|
|
> r = {{alias}}()
|
|
<number>
|
|
> r = {{alias}}()
|
|
<number>
|
|
|
|
// Get a copy of the current state:
|
|
> var state = {{alias}}.state;
|
|
|
|
> r = {{alias}}()
|
|
<number>
|
|
> r = {{alias}}()
|
|
<number>
|
|
|
|
// Set the state:
|
|
> {{alias}}.state = state;
|
|
|
|
// Replay the last two pseudorandom numbers:
|
|
> r = {{alias}}()
|
|
<number>
|
|
> r = {{alias}}()
|
|
<number>
|
|
|
|
|
|
{{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
|
|
--------
|
|
|