NAME

caxpyi - Compute y := alpha * x + y


SYNOPSIS

 SUBROUTINE CAXPYI(NZ, A, X, INDX, Y)
 COMPLEX A
 COMPLEX X(*), Y(*)
 INTEGER NZ
 INTEGER INDX(*)
 SUBROUTINE CAXPYI_64(NZ, A, X, INDX, Y)
 COMPLEX A
 COMPLEX X(*), Y(*)
 INTEGER*8 NZ
 INTEGER*8 INDX(*)

F95 INTERFACE SUBROUTINE AXPYI([NZ], [A], X, INDX, Y)

 COMPLEX :: A
 COMPLEX, DIMENSION(:) :: X, Y
 INTEGER :: NZ
 INTEGER, DIMENSION(:) :: INDX
 SUBROUTINE AXPYI_64([NZ], [A], X, INDX, Y)
 COMPLEX :: A
 COMPLEX, DIMENSION(:) :: X, Y
 INTEGER(8) :: NZ
 INTEGER(8), DIMENSION(:) :: INDX


PURPOSE

CAXPYI Compute y := alpha * x + y where alpha is a scalar, x is a sparse vector, and y is a vector in full storage form

 do i = 1, n
   y(indx(i)) = alpha * x(i) + y(indx(i))
 enddo


ARGUMENTS

NZ (input) - INTEGER
Number of elements in the compressed form. Unchanged on exit.

A (input)
On entry, ALPHA specifies the scaling value. Unchanged on exit.

X (input)
Vector containing the values of the compressed form. Unchanged on exit.

INDX (input) - INTEGER
Vector containing the indices of the compressed form. It is assumed that the elements in INDX are distinct and greater than zero. Unchanged on exit.

Y (output)
Vector on input which contains the vector Y in full storage form. On exit, only the elements corresponding to the indices in INDX have been modified.