
{{alias}}( shape, strides, offset, order, idx, mode )
    Converts a linear index to an array of subscripts.

    When provided a stride array containing negative strides, if an `offset` is
    greater than `0`, the function interprets the linear index as an index into
    the underlying data buffer for the array, thus returning subscripts from the
    perspective of that buffer. If an `offset` is equal to `0`, the function
    treats the linear index as an index into an array view, thus returning
    subscripts from the perspective of that view. In short, from the perspective
    of a view, view data is always ordered.

    Parameters
    ----------
    shape: ArrayLike
        Array shape.

    strides: ArrayLike
        Stride array.

    offset: integer
        Location of the first indexed value based on the stride array.

    order: string
        Specifies whether an array is row-major (C-style) or column-major
        (Fortran-style).

    idx: integer
        Linear index.

    mode: string
        Specifies how to handle a linear index which exceeds array dimensions.
        If equal to 'throw', the function throws an error when a linear index
        exceeds array dimensions. If equal to 'wrap', the function wraps around
        a linear index exceeding array dimensions using modulo arithmetic. If
        equal to 'clamp', the function sets a linear index exceeding array
        dimensions to either `0` (minimum linear index) or the maximum linear
        index. Default: 'throw'.

    Returns
    -------
    out: Array
        Subscripts.

    Examples
    --------
    > var d = [ 3, 3, 3 ];
    > var s = [ 9, 3, 1 ];
    > var out = {{alias}}( d, s, 0, 'row-major', 17, 'throw' )
    [ 1, 2, 2 ]


{{alias}}.assign( shape, strides, offset, order, idx, mode, out )
    Converts a linear index to an array of subscripts and assigns results to a
    provided output array.

    When provided a stride array containing negative strides, if an `offset` is
    greater than `0`, the function interprets the linear index as an index into
    the underlying data buffer for the array, thus returning subscripts from the
    perspective of that buffer. If an `offset` is equal to `0`, the function
    treats the linear index as an index into an array view, thus returning
    subscripts from the perspective of that view. In short, from the perspective
    of a view, view data is always ordered.

    Parameters
    ----------
    shape: ArrayLike
        Array shape.

    strides: ArrayLike
        Stride array.

    offset: integer
        Location of the first indexed value based on the stride array.

    order: string
        Specifies whether an array is row-major (C-style) or column-major
        (Fortran-style).

    idx: integer
        Linear index.

    mode: string
        Specifies how to handle a linear index which exceeds array dimensions.
        If equal to 'throw', the function throws an error when a linear index
        exceeds array dimensions. If equal to 'wrap', the function wraps around
        a linear index exceeding array dimensions using modulo arithmetic. If
        equal to 'clamp', the function sets a linear index exceeding array
        dimensions to either `0` (minimum linear index) or the maximum linear
        index. Default: 'throw'.

    out: Array|TypedArray|Object
        Output object.

    Returns
    -------
    out: Array|TypedArray|Object
        Subscripts.

    Examples
    --------
    > var d = [ 3, 3, 3 ];
    > var s = [ 9, 3, 1 ];
    > var out = [ 0, 0, 0 ];
    > var sub = {{alias}}.assign( d, s, 0, 'row-major', 17, 'throw', out )
    [ 1, 2, 2 ]
    > var bool = ( sub === out )
    true

    See Also
    --------

