(S|D|C|Z)SWAP

Single, double, single complex, and double complex SWAP.

Description

Swap the contents of vectors X and Y.

BLAS Interface

void sswap(const qml_long *N, float *X, const qml_long *INCX, float *Y,
           const qml_long *INCY);

void dswap(const qml_long *N, double *X, const qml_long *INCX, double *Y,
           const qml_long *INCY);

void cswap(const qml_long *N, qml_single_complex *X, const qml_long *INCX,
           qml_single_complex *Y, const qml_long *INCY);

void zswap(const qml_long *N, qml_double_complex *X, const qml_long *INCX,
           qml_double_complex *Y, const qml_long *INCY);

CBLAS Interface

void cblas_sswap(const qml_long N, float *X, const qml_long INCX,
                 float *Y, const qml_long INCY);

void cblas_dswap(const qml_long N, double *X, const qml_long INCX,
                 double *Y, const qml_long INCY);

void cblas_cswap(const qml_long N, qml_single_complex *X, const qml_long INCX,
                 qml_single_complex *Y, const qml_long INCY);

void cblas_zswap(const qml_long N, qml_double_complex *X, const qml_long INCX,
                 qml_double_complex *Y, const qml_long INCY);

Arguments

N Number of elements in X and Y
X First input vector, must be at least: (\fvar{N}-1)\mult\abs{\fvar{INCX}} + 1
INCX Distance between individual elements in X
Y Second input vector, must be at least: (\fvar{N}-1)\mult\abs{\fvar{INCY}} + 1
INCY Distance between individual elements in Y