sdoti - Compute the indexed dot product.
REAL FUNCTION SDOTI(NZ, X, INDX, Y) REAL X(*), Y(*) INTEGER NZ INTEGER INDX(*) REAL FUNCTION SDOTI_64(NZ, X, INDX, Y) REAL X(*), Y(*) INTEGER*8 NZ INTEGER*8 INDX(*) F95 INTERFACE REAL FUNCTION DOTI(NZ, X, INDX, Y) REAL, DIMENSION(:) :: X, Y INTEGER :: NZ INTEGER, DIMENSION(:) :: INDX REAL FUNCTION DOTI_64(NZ, X, INDX, Y) REAL, DIMENSION(:) :: X, Y INTEGER(8) :: NZ INTEGER(8), DIMENSION(:) :: INDX C INTERFACE #include <sunperf.h> float sdoti (const int nz, const float* x, const int* indx, const float* y); float sdoti_64 (const long nz, const float* x, const long* indx, const float* y);
Oracle Solaris Studio Performance Library sdoti(3P) NAME sdoti - Compute the indexed dot product. SYNOPSIS REAL FUNCTION SDOTI(NZ, X, INDX, Y) REAL X(*), Y(*) INTEGER NZ INTEGER INDX(*) REAL FUNCTION SDOTI_64(NZ, X, INDX, Y) REAL X(*), Y(*) INTEGER*8 NZ INTEGER*8 INDX(*) F95 INTERFACE REAL FUNCTION DOTI(NZ, X, INDX, Y) REAL, DIMENSION(:) :: X, Y INTEGER :: NZ INTEGER, DIMENSION(:) :: INDX REAL FUNCTION DOTI_64(NZ, X, INDX, Y) REAL, DIMENSION(:) :: X, Y INTEGER(8) :: NZ INTEGER(8), DIMENSION(:) :: INDX C INTERFACE #include <sunperf.h> float sdoti (const int nz, const float* x, const int* indx, const float* y); float sdoti_64 (const long nz, const float* x, const long* indx, const float* y); PURPOSE SDOTI Compute the indexed dot product of a real sparse vector x stored in compressed form with a real vector y in full storage form. dot = 0 do i = 1, n dot = dot + x(i) * y(indx(i)) enddo ARGUMENTS NZ (input) Number of elements in the compressed form. Unchanged on exit. X (input) Vector in compressed form. Unchanged on exit. INDX (input) 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 (input) Vector in full storage form. Only the elements corresponding to the indices in INDX will be accessed. 3rd Berkeley Distribution 7 Nov 2015 sdoti(3P)