(S|D|C|Z)AXPY

Single, double, single complex, and double complex AXPY.

Description

Scales the vector x and adds to vector y.

y \assign \alpha x + y

BLAS Interface

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

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

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

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

CBLAS Interface

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

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

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

void cblas_zaxpy(const qml_long N, const qml_double_complex *ALPHA,
                 const 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
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
Y Second input vector, must be at least: (\fvar{N}-1)\mult\abs{\fvar{INCY}} + 1
INCY Distance between individual elements in Y