saxpyi - Compute y := alpha * x + y
SUBROUTINE SAXPYI(NZ, A, X, INDX, Y) REAL A REAL X(*), Y(*) INTEGER NZ INTEGER INDX(*) SUBROUTINE SAXPYI_64(NZ, A, X, INDX, Y) REAL A REAL X(*), Y(*) INTEGER*8 NZ INTEGER*8 INDX(*) F95 INTERFACE SUBROUTINE AXPYI(NZ, A, X, INDX, Y) REAL :: A REAL, DIMENSION(:) :: X, Y INTEGER :: NZ INTEGER, DIMENSION(:) :: INDX SUBROUTINE AXPYI_64(NZ, A, X, INDX, Y) REAL :: A REAL, DIMENSION(:) :: X, Y INTEGER(8) :: NZ INTEGER(8), DIMENSION(:) :: INDX C INTERFACE #include <sunperf.h> void saxpyi (const int nz, const float a, const float* x, const int* indx, float* y); void saxpyi_64 (const long nz, const float a, const float* x, const long* indx, float* y);
Oracle Solaris Studio Performance Library saxpyi(3P) NAME saxpyi - Compute y := alpha * x + y SYNOPSIS SUBROUTINE SAXPYI(NZ, A, X, INDX, Y) REAL A REAL X(*), Y(*) INTEGER NZ INTEGER INDX(*) SUBROUTINE SAXPYI_64(NZ, A, X, INDX, Y) REAL A REAL X(*), Y(*) INTEGER*8 NZ INTEGER*8 INDX(*) F95 INTERFACE SUBROUTINE AXPYI(NZ, A, X, INDX, Y) REAL :: A REAL, DIMENSION(:) :: X, Y INTEGER :: NZ INTEGER, DIMENSION(:) :: INDX SUBROUTINE AXPYI_64(NZ, A, X, INDX, Y) REAL :: A REAL, DIMENSION(:) :: X, Y INTEGER(8) :: NZ INTEGER(8), DIMENSION(:) :: INDX C INTERFACE #include <sunperf.h> void saxpyi (const int nz, const float a, const float* x, const int* indx, float* y); void saxpyi_64 (const long nz, const float a, const float* x, const long* indx, float* y); PURPOSE SAXPYI 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, A(LPHA) specifies the scaling value. Unchanged on exit. A is defaulted to 1.0E0 for F95 INTERFACE. 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. 3rd Berkeley Distribution 7 Nov 2015 saxpyi(3P)