(S|D|C|Z)AXPBY

Single, double, single complex, and double complex AXPBY.

Description

Extension of AXPY that also scales the vector Y.

y \assign \alpha x + \beta y

BLAS Interface

void saxpby(const qml_long *N, const float *ALPHA, const float *X,
            const qml_long *INCX, const float *BETA, float *Y,
            const qml_long *INCY);

void daxpby(const qml_long *N, const double *ALPHA, const double *X,
            const qml_long *INCX, const double *BETA, double *Y,
            const qml_long *INCY);

void caxpby(const qml_long *N, const qml_single_complex *ALPHA,
            const qml_single_complex *X, const qml_long *INCX,
            const qml_single_complex *BETA, qml_single_complex *Y,
            const qml_long *INCY);

void zaxpby(const qml_long *N, const qml_double_complex *ALPHA,
            const qml_double_complex *X, const qml_long *INCX,
            const qml_double_complex *BETA, qml_double_complex *Y,
            const qml_long *INCY);

CBLAS Interface

void cblas_saxpby(const qml_long N, const float ALPHA, const float *X,
                  const qml_long INCX, const float BETA, float *Y,
                  const qml_long INCY);

void cblas_daxpby(const qml_long N, const double ALPHA, const double *X,
                  const qml_long INCX, const double BETA, double *Y,
                  const qml_long INCY);

void cblas_caxpby(const qml_long N, const qml_single_complex *ALPHA,
                  const qml_single_complex *X, const qml_long INCX,
                  const qml_single_complex *BETA, qml_single_complex *Y,
                  const qml_long INCY);

void cblas_zaxpby(const qml_long N, const qml_double_complex *ALPHA,
                  const qml_double_complex *X, const qml_long INCX,
                  const qml_double_complex *BETA, qml_double_complex *Y,
                  const qml_long INCY);

Arguments

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