
{{alias}}( order, N, x, strideX, out, LDO )
    Computes the Cartesian square for a double-precision floating-point strided
    array.

    Pairs are stored as rows in the output matrix, where the first column
    contains the first element of each pair and the second column contains
    the second element.

    The `N` and stride parameters determine which elements in the strided
    arrays are accessed at runtime.

    If `N <= 0`, the function returns `out` unchanged.

    Parameters
    ----------
    order: string
        Row-major (C-style) or column-major (Fortran-style) order.

    N: integer
        Number of indexed elements.

    x: Float64Array
        Input array.

    strideX: integer
        Stride length for `x`.

    out: Float64Array
        Output array.

    LDO: integer
        Stride length between successive contiguous vectors of the matrix `out`
        (a.k.a., leading dimension of `out`).

    Returns
    -------
    out: Float64Array
        Output array.

    Examples
    --------
    // Standard Usage:
    > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0 ] );
    > var out = new {{alias:@stdlib/array/float64}}( 8 );
    > {{alias}}( 'row-major', x.length, x, 1, out, 2 )
    <Float64Array>[ 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0 ]

    // Using `N` and stride parameters:
    > x = new {{alias:@stdlib/array/float64}}( [ 1.0, 0.0, 2.0, 0.0 ] );
    > out = new {{alias:@stdlib/array/float64}}( 8 );
    > {{alias}}( 'row-major', 2, x, 2, out, 2 )
    <Float64Array>[ 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0 ]

    // Using view offsets:
    > var x0 = new {{alias:@stdlib/array/float64}}( [ 0.0, 1.0, 2.0, 3.0 ] );
    > var x1 = new {{alias:@stdlib/array/float64}}( x0.buffer, x0.BYTES_PER_ELEMENT*1 );
    > out = new {{alias:@stdlib/array/float64}}( 8 );
    > {{alias}}( 'row-major', 2, x1, 1, out, 2 )
    <Float64Array>[ 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0 ]


{{alias}}.ndarray( N, x, sx, ox, out, so1, so2, oo )
    Computes the Cartesian square for a double-precision floating-point strided
    array using alternative indexing semantics.

    Pairs are stored as rows in the output matrix, where the first column
    contains the first element of each pair and the second column contains
    the second element.

    While typed array views mandate a view offset based on the underlying
    buffer, the offset parameters support indexing semantics based on starting
    indices.

    Parameters
    ----------
    N: integer
        Number of indexed elements.

    x: Float64Array
        Input array.

    sx: integer
        Stride length for `x`.

    ox: integer
        Starting index for `x`.

    out: Float64Array
        Output array.

    so1: integer
        Stride length for the first dimension of `out`.

    so2: integer
        Stride length for the second dimension of `out`.

    oo: integer
        Starting index for `out`.

    Returns
    -------
    out: Float64Array
        Output array.

    Examples
    --------
    // Standard Usage:
    > var x = new {{alias:@stdlib/array/float64}}( [ 1.0, 2.0 ] );
    > var out = new {{alias:@stdlib/array/float64}}( 8 );
    > {{alias}}.ndarray( x.length, x, 1, 0, out, 2, 1, 0 )
    <Float64Array>[ 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0 ]

    // Using an index offset:
    > x = new {{alias:@stdlib/array/float64}}( [ 0.0, 1.0, 2.0, 3.0 ] );
    > out = new {{alias:@stdlib/array/float64}}( 8 );
    > {{alias}}.ndarray( 2, x, 1, 1, out, 2, 1, 0 )
    <Float64Array>[ 1.0, 1.0, 1.0, 2.0, 2.0, 1.0, 2.0, 2.0 ]

    See Also
    --------

