
{{alias}}( x, shape )
    Broadcasts an ndarray to a specified shape if and only if the specified
    shape differs from the provided ndarray's shape.

    If a provided ndarray has the same shape as the specified shape, the
    function returns the provided ndarray.

    If a provided ndarray has a different (broadcast compatible) shape than the
    specified shape, the function returns a new *read-only* ndarray view of the
    provided ndarray's data. The view is typically *not* contiguous. As more
    than one element of a returned view may refer to the same memory location,
    writing to the input ndarray may affect multiple elements. If you need to
    write to the input ndarray, copy the input ndarray before broadcasting.

    The function throws an error if a provided ndarray is incompatible with a
    provided shape.

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

    shape: ArrayLikeObject
        Desired shape.

    Returns
    -------
    out: ndarray
        Broadcasted array.

    Examples
    --------
    > var x = {{alias:@stdlib/ndarray/array}}( [ [ 1, 2 ], [ 3, 4 ] ] )
    <ndarray>
    > var sh = x.shape
    [ 2, 2 ]
    > var y = {{alias}}( x, [ 3, 2, 2 ] )
    <ndarray>
    > sh = y.shape
    [ 3, 2, 2 ]
    > var v = y.get( 0, 0, 0 )
    1
    > v = y.get( 0, 0, 1 )
    2
    > v = y.get( 0, 1, 0 )
    3
    > v = y.get( 0, 1, 1 )
    4
    > v = y.get( 1, 0, 0 )
    1
    > v = y.get( 1, 1, 0 )
    3
    > v = y.get( 2, 0, 0 )
    1
    > v = y.get( 2, 1, 1 )
    4

    See Also
    --------

