{{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
    --------