
{{alias}}( x[, options] )
    Copy an input ndarray to a new ndarray having the same shape and data type.

    The function infers the following attributes from the input array:

    - shape: array shape.
    - dtype: underlying array data type.
    - order: whether the array order is row-major (C-style) or column-major
        (Fortran-style).

    The function performs a full copy in which an ndarray's underlying data is
    copied to a new underlying data buffer.

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

    options: Object (optional)
        Options.

    options.dtype: string (optional)
        Array data type. Overrides the input array's inferred data type.

    options.order: string (optional)
        Array order (either 'row-major' (C-style) or 'column-major' (Fortran-
        style)). Overrides the input array's inferred order.

    options.mode: string (optional)
        Specifies how to handle indices which exceed array dimensions. If equal
        to 'throw', an ndarray instance throws an error when an index exceeds
        array dimensions. If equal to 'normalize', an ndarray instance
        normalizes negative indices and throws an error when an index exceeds
        array dimensions. If equal to 'wrap', an ndarray instance wraps around
        indices exceeding array dimensions using modulo arithmetic. If equal to
        'clamp', an ndarray instance sets an index exceeding array dimensions
        to either `0` (minimum index) or the maximum index. Default: 'throw'.

    options.submode: Array<string> (optional)
        Specifies how to handle subscripts which exceed array dimensions. If a
        mode for a corresponding dimension is equal to 'throw', an ndarray
        instance throws an error when a subscript exceeds array dimensions. If
        equal to 'normalize', an ndarray instance normalizes negative
        subscripts and throws an error when a subscript exceeds array
        dimensions. If equal to 'wrap', an ndarray instance wraps around
        subscripts exceeding array dimensions using modulo arithmetic. If equal
        to 'clamp', an ndarray instance sets a subscript exceeding array
        dimensions to either `0` (minimum index) or the maximum index. If the
        number of modes is fewer than the number of dimensions, the function
        recycles modes using modulo arithmetic. Default: [ options.mode ].

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

    Examples
    --------
    > var x = {{alias:@stdlib/ndarray/zeros}}( [ 2, 2 ] )
    <ndarray>
    > var sh = {{alias:@stdlib/ndarray/shape}}( x )
    [ 2, 2 ]
    > var y = {{alias}}( x )
    <ndarray>
    > sh = {{alias:@stdlib/ndarray/shape}}( y )
    [ 2, 2 ]

    See Also
    --------
