191 lines
4.3 KiB
Plaintext
191 lines
4.3 KiB
Plaintext
|
|
|||
|
{{alias}}( α, s, m )
|
|||
|
Returns a pseudorandom number drawn from a Fréchet distribution.
|
|||
|
|
|||
|
If provided `α <= 0` or `s <= 0`, the function returns `NaN`.
|
|||
|
|
|||
|
If either `α`, `s`, or `m` is `NaN`, the function returns `NaN`.
|
|||
|
|
|||
|
Parameters
|
|||
|
----------
|
|||
|
α: number
|
|||
|
Shape parameter.
|
|||
|
|
|||
|
s: number
|
|||
|
Scale parameter.
|
|||
|
|
|||
|
m: number
|
|||
|
Location parameter.
|
|||
|
|
|||
|
Returns
|
|||
|
-------
|
|||
|
r: number
|
|||
|
Pseudorandom number.
|
|||
|
|
|||
|
Examples
|
|||
|
--------
|
|||
|
> var r = {{alias}}( 2.0, 5.0, 3.33 );
|
|||
|
|
|||
|
|
|||
|
{{alias}}.factory( [α, s, m, ][options] )
|
|||
|
Returns a pseudorandom number generator (PRNG) for generating pseudorandom
|
|||
|
numbers drawn from a triangular distribution.
|
|||
|
|
|||
|
If provided `α`, `s`, and `m`, the returned PRNG returns random variates
|
|||
|
drawn from the specified distribution.
|
|||
|
|
|||
|
If not provided `α`, `s`, and `m`, the returned PRNG requires that `α`, `s`,
|
|||
|
and `m` be provided at each invocation.
|
|||
|
|
|||
|
Parameters
|
|||
|
----------
|
|||
|
α: number (optional)
|
|||
|
Shape parameter.
|
|||
|
|
|||
|
s: number (optional)
|
|||
|
Scale parameter.
|
|||
|
|
|||
|
m: number (optional)
|
|||
|
Location parameter.
|
|||
|
|
|||
|
options: Object (optional)
|
|||
|
Options.
|
|||
|
|
|||
|
options.prng: Function (optional)
|
|||
|
Pseudorandom number generator (PRNG) for generating uniformly
|
|||
|
distributed pseudorandom numbers on the interval `[0,1)`. If provided,
|
|||
|
the `state` and `seed` options are ignored. In order to seed the
|
|||
|
returned pseudorandom number generator, one must seed the provided
|
|||
|
`prng` (assuming the provided `prng` is seedable).
|
|||
|
|
|||
|
options.seed: integer|ArrayLikeObject<integer> (optional)
|
|||
|
Pseudorandom number generator seed. The seed may be either a positive
|
|||
|
unsigned 32-bit integer or, for arbitrary length seeds, an array-like
|
|||
|
object containing unsigned 32-bit integers.
|
|||
|
|
|||
|
options.state: Uint32Array (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();
|
|||
|
> var r = rand( 1.0, 1.0, 0.5 );
|
|||
|
> r = rand( 2.0, 2.0, 1.0 );
|
|||
|
|
|||
|
// Provide `α`, `s`, and `m`:
|
|||
|
> rand = {{alias}}.factory( 1.0, 1.0, 0.5 );
|
|||
|
> r = rand();
|
|||
|
> r = rand();
|
|||
|
|
|||
|
|
|||
|
{{alias}}.NAME
|
|||
|
Generator name.
|
|||
|
|
|||
|
Examples
|
|||
|
--------
|
|||
|
> var str = {{alias}}.NAME
|
|||
|
'frechet'
|
|||
|
|
|||
|
|
|||
|
{{alias}}.PRNG
|
|||
|
Underlying pseudorandom number generator.
|
|||
|
|
|||
|
Examples
|
|||
|
--------
|
|||
|
> var prng = {{alias}}.PRNG;
|
|||
|
|
|||
|
|
|||
|
{{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}}( 1.0, 1.0, 0.5 )
|
|||
|
<number>
|
|||
|
> r = {{alias}}( 1.0, 1.0, 0.5 )
|
|||
|
<number>
|
|||
|
> r = {{alias}}( 1.0, 1.0, 0.5 )
|
|||
|
<number>
|
|||
|
|
|||
|
// Get a copy of the current state:
|
|||
|
> var state = {{alias}}.state
|
|||
|
<Uint32Array>
|
|||
|
|
|||
|
> r = {{alias}}( 1.0, 1.0, 0.5 )
|
|||
|
<number>
|
|||
|
> r = {{alias}}( 1.0, 1.0, 0.5 )
|
|||
|
<number>
|
|||
|
|
|||
|
// Set the state:
|
|||
|
> {{alias}}.state = state;
|
|||
|
|
|||
|
// Replay the last two pseudorandom numbers:
|
|||
|
> r = {{alias}}( 1.0, 1.0, 0.5 )
|
|||
|
<number>
|
|||
|
> r = {{alias}}( 1.0, 1.0, 0.5 )
|
|||
|
<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
|
|||
|
--------
|
|||
|
|