
{{alias}}( table, idtypes, odtypes, policies[, options] )
    Returns an ndarray function interface for applying a strided function to an
    input ndarray.

    Parameters
    ----------
    table: Object
        Dispatch table containing strided functions. The table object must have
        the following property:

        - default: default strided function to invoke when provided ndarrays
        have data types which do not have a corresponding specialized
        implementation.

        The table may having the following additional properties:

        - types: one-dimensional list of ndarray data types describing
        specialized input and output ndarray argument signatures.
        - fcns: list of strided functions which are specific to specialized
        input and output ndarray argument signatures.

        A strided function should have the following signature:

            f( arrays )

        where

        - arrays: array containing an input and an output ndarray, followed by
        any additional ndarray arguments.

    idtypes: Array<Array<string|DataType>>
        List containing lists of supported input array data types for each input
        ndarray argument.

    odtypes: Array<string|DataType>
        List of supported output array data types.

    policies: Object
        Dispatch policies. Must have the following properties:

        - output: output data type policy.
        - casting: input ndarray casting policy.

    options: Object (optional)
        Function options.

    options.strictTraversalOrder: boolean (optional)
        Boolean specifying whether the order of element traversal must match the
        memory layout order of an input ndarray.

    Returns
    -------
    out: Object
        Instance having methods for applying a strided function.

    Examples
    --------
    > var dts = [ 'float64', 'float32', 'generic' ];
    > var p = { 'output': 'same', 'casting': 'none' };
    > var t = { 'default': {{alias:@stdlib/stats/base/ndarray/cumax}} };
    > var out = new {{alias}}( t, [ dts ], dts, p );


{{alias}}.prototype.apply( x[, ...args][, options] )
    Applies a strided function to a provided input ndarray.

    Parameters
    ----------
    x: ndarray
        Input array.

    args: ...ndarray (optional)
        Additional ndarray arguments.

    options: Object (optional)
        Function options.

    options.dtype: string|DataType (optional)
        Output array data type. Setting this option overrides the output data
        type policy.

    options.dims: Array<integer> (optional)
        List of dimensions over which to perform operation. If not provided, the
        function performs the operation over all elements in a provided input
        ndarray.

    Returns
    -------
    out: ndarray
        Output array.

    Examples
    --------
    > var dts = [ 'float64', 'float32', 'generic' ];
    > var p = { 'output': 'same', 'casting': 'none' };
    > var t = { 'default': {{alias:@stdlib/stats/base/ndarray/cumax}} };
    > var f = new {{alias}}( t, [ dts ], dts, p );
    > var buf = [ -1.0, 2.0, -3.0, -4.0 ];
    > var dt = 'generic';
    > var sh = [ buf.length ];
    > var sx = [ 1 ];
    > var ox = 0;
    > var ord = 'row-major';
    > var x = new {{alias:@stdlib/ndarray/ctor}}( dt, buf, sh, sx, ox, ord );
    > var y = f.apply( x );
    > {{alias:@stdlib/ndarray/to-array}}( y )
    [ -1.0, 2.0, 2.0, 2.0 ]


{{alias}}.prototype.assign( x[, ...args], out[, options] )
    Applies a strided function to a provided input ndarray and assigns results
    to a provided output ndarray.

    Parameters
    ----------
    x: ndarray
        Input array.

    args: ...ndarray (optional)
        Additional ndarray arguments.

    out: ndarray
        Output array.

    options: Object (optional)
        Function options.

    options.dims: Array<integer> (optional)
        List of dimensions over which to perform operation. If not provided, the
        function performs the operation over all elements in a provided input
        ndarray.

    Returns
    -------
    out: ndarray
        Output array.

    Examples
    --------
    > var dts = [ 'float64', 'float32', 'generic' ];
    > var p = { 'output': 'same', 'casting': 'none' };
    > var t = { 'default': {{alias:@stdlib/stats/base/ndarray/cumax}} };
    > var f = new {{alias}}( t, [ dts ], dts, p );
    > var buf = [ -1.0, 2.0, -3.0, -4.0 ];
    > var dt = 'generic';
    > var sh = [ buf.length ];
    > var sx = [ 1 ];
    > var ox = 0;
    > var ord = 'row-major';
    > var x = new {{alias:@stdlib/ndarray/ctor}}( dt, buf, sh, sx, ox, ord );
    > var out = {{alias:@stdlib/ndarray/zeros-like}}( x );
    > var y = f.assign( x, out )
    <ndarray>
    > var bool = ( out === y )
    true
    > {{alias:@stdlib/ndarray/to-array}}( y )
    [ -1.0, 2.0, 2.0, 2.0 ]

    See Also
    --------

