
{{alias}}()
    Returns a pseudorandom number drawn from a standard normal 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.

    Examples
    --------
    > var r = {{alias}}();


{{alias}}.factory( [options] )
    Returns a pseudorandom number generator (PRNG) for generating pseudorandom
    numbers drawn from a standard normal distribution.

    Parameters
    ----------
    options: Object (optional)
        Options.

    options.name: string (optional)
        Name of the underlying pseudorandom number generator (PRNG) that samples
        from a standard normal distribution. The following PRNGs are supported:

        - improved-ziggurat: improved ziggurat method.
        - box-muller: Box-Muller transform.

        Default: 'improved-ziggurat'.

    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: 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': 'box-muller' });
    > r = rand();
    > r = rand();


{{alias}}.NAME
    Generator name.

    Examples
    --------
    > var str = {{alias}}.NAME
    'randn'


{{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}}()
    <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
    --------

