daxpy


NAME

daxpy - compute y := alpha * x + y


SYNOPSIS

  SUBROUTINE DAXPY( N, ALPHA, X, INCX, Y, INCY)
  INTEGER N, INCX, INCY
  DOUBLE PRECISION ALPHA
  DOUBLE PRECISION X(*), Y(*)
 
  SUBROUTINE DAXPY_64( N, ALPHA, X, INCX, Y, INCY)
  INTEGER*8 N, INCX, INCY
  DOUBLE PRECISION ALPHA
  DOUBLE PRECISION X(*), Y(*)
 

F95 INTERFACE

  SUBROUTINE AXPY( [N], ALPHA, X, [INCX], Y, [INCY])
  INTEGER :: N, INCX, INCY
  REAL(8) :: ALPHA
  REAL(8), DIMENSION(:) :: X, Y
 
  SUBROUTINE AXPY_64( [N], ALPHA, X, [INCX], Y, [INCY])
  INTEGER(8) :: N, INCX, INCY
  REAL(8) :: ALPHA
  REAL(8), DIMENSION(:) :: X, Y
 

C INTERFACE

#include <sunperf.h>

void daxpy(int n, double alpha, double *x, int incx, double *y, int incy);

void daxpy_64(long n, double alpha, double *x, long incx, double *y, long incy);


PURPOSE

daxpy compute y := alpha * x + y where alpha is a scalar and x and y are n-vectors.


ARGUMENTS

* N (input)
On entry, N specifies the number of elements in the vector. N must be at least one for the subroutine to have any visible effect. Unchanged on exit.

* ALPHA (input)
On entry, ALPHA specifies the scalar alpha. Unchanged on exit.

* X (input)
( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented array X must contain the vector x. Unchanged on exit.

* INCX (input)
On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit.

* Y (input/output)
( 1 + ( m - 1 )*abs( INCY ) ). On entry, the incremented array Y must contain the vector y. On exit, Y is overwritten by the updated vector y.

* INCY (input)
On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit.