Contents
ddoti - Compute the indexed dot product.
DOUBLE PRECISION FUNCTION DDOTI(NZ, X, INDX, Y)
DOUBLE PRECISION X(*), Y(*)
INTEGER NZ
INTEGER INDX(*)
DOUBLE PRECISION FUNCTION DDOTI_64(NZ, X, INDX, Y)
DOUBLE PRECISION X(*), Y(*)
INTEGER*8 NZ
INTEGER*8 INDX(*)
F95 INTERFACE
DOUBLE PRECISION FUNCTION DOTI([NZ], X, INDX, Y)
REAL(8), DIMENSION(:) :: X, Y
INTEGER :: NZ
INTEGER, DIMENSION(:) :: INDX
DOUBLE PRECISION FUNCTION DOTI_64([NZ], X, INDX, Y)
REAL(8), DIMENSION(:) :: X, Y
INTEGER(8) :: NZ
INTEGER(8), DIMENSION(:) :: INDX
DDOTI 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
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.