Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

ddoti (3p)

Name

ddoti - Compute the indexed dot product.

Synopsis

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





C INTERFACE
#include <sunperf.h>

double ddoti (const int nz, const double* x, const int* indx, const
double* y);

double ddoti_64 (const long nz, const double* x, const long* indx,
const double* y);

Description

Oracle Solaris Studio Performance Library                            ddoti(3P)



NAME
       ddoti - Compute the indexed dot product.

SYNOPSIS
        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





   C INTERFACE
       #include <sunperf.h>

       double ddoti (const int nz, const double* x, const int* indx, const
                 double* y);

       double ddoti_64 (const long nz, const double* x, const long* indx,
                 const double* y);




PURPOSE
       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


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                         ddoti(3P)