Name

HPL_daxpy y := y + alpha * x.

Synopsis

#include "hpl.h"

void HPL_daxpy( const int N, const double ALPHA, const double * X, const int INCX, double * Y, const int INCY );

Description

HPL_daxpy scales the vector x by alpha and adds it to y.

Arguments

N       (local input)                 const int
        On entry, N specifies the length of the vectors  x  and  y. N
        must be at least zero.
ALPHA   (local input)                 const double
        On entry, ALPHA specifies the scalar alpha.   When  ALPHA  is
        supplied as zero, then the entries of the incremented array X
        need not be set on input.
X       (local input)                 const double *
        On entry,  X  is an incremented array of dimension  at  least
        ( 1 + ( n - 1 ) * abs( INCX ) )  that  contains the vector x.
INCX    (local input)                 const int
        On entry, INCX specifies the increment for the elements of X.
        INCX must not be zero.
Y       (local input/output)          double *
        On entry,  Y  is an incremented array of dimension  at  least
        ( 1 + ( n - 1 ) * abs( INCY ) )  that  contains the vector y.
        On exit, the entries of the incremented array  Y  are updated
        with the scaled entries of the incremented array X.
INCY    (local input)                 const int
        On entry, INCY specifies the increment for the elements of Y.
        INCY must not be zero.

Example

#include "hpl.h"

int main(int argc, char *argv[])
{
   double x[3], y[3];
   x[0] = 1.0; x[1] = 2.0; x[2] = 3.0;
   y[0] = 4.0; y[1] = 5.0; y[2] = 6.0;
   HPL_daxpy( 3, 2.0, x, 1, y, 1 );
   printf("y=[%f,%f,%f]\n", y[0], y[1], y[2]);
   exit(0); return(0);
}

See Also

HPL_dcopy, HPL_dscal, HPL_dswap.