LAPACK  3.6.1
LAPACK: Linear Algebra PACKage
double precision function ddot ( integer  N,
double precision, dimension(*)  DX,
integer  INCX,
double precision, dimension(*)  DY,
integer  INCY 
)

DDOT

Purpose:
    DDOT forms the dot product of two vectors.
    uses unrolled loops for increments equal to one.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
November 2011
Further Details:
     jack dongarra, linpack, 3/11/78.
     modified 12/3/93, array(1) declarations changed to array(*)

Definition at line 53 of file ddot.f.

53 *
54 * -- Reference BLAS level1 routine (version 3.4.0) --
55 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
56 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
57 * November 2011
58 *
59 * .. Scalar Arguments ..
60  INTEGER incx,incy,n
61 * ..
62 * .. Array Arguments ..
63  DOUBLE PRECISION dx(*),dy(*)
64 * ..
65 *
66 * =====================================================================
67 *
68 * .. Local Scalars ..
69  DOUBLE PRECISION dtemp
70  INTEGER i,ix,iy,m,mp1
71 * ..
72 * .. Intrinsic Functions ..
73  INTRINSIC mod
74 * ..
75  ddot = 0.0d0
76  dtemp = 0.0d0
77  IF (n.LE.0) RETURN
78  IF (incx.EQ.1 .AND. incy.EQ.1) THEN
79 *
80 * code for both increments equal to 1
81 *
82 *
83 * clean-up loop
84 *
85  m = mod(n,5)
86  IF (m.NE.0) THEN
87  DO i = 1,m
88  dtemp = dtemp + dx(i)*dy(i)
89  END DO
90  IF (n.LT.5) THEN
91  ddot=dtemp
92  RETURN
93  END IF
94  END IF
95  mp1 = m + 1
96  DO i = mp1,n,5
97  dtemp = dtemp + dx(i)*dy(i) + dx(i+1)*dy(i+1) +
98  $ dx(i+2)*dy(i+2) + dx(i+3)*dy(i+3) + dx(i+4)*dy(i+4)
99  END DO
100  ELSE
101 *
102 * code for unequal increments or equal increments
103 * not equal to 1
104 *
105  ix = 1
106  iy = 1
107  IF (incx.LT.0) ix = (-n+1)*incx + 1
108  IF (incy.LT.0) iy = (-n+1)*incy + 1
109  DO i = 1,n
110  dtemp = dtemp + dx(ix)*dy(iy)
111  ix = ix + incx
112  iy = iy + incy
113  END DO
114  END IF
115  ddot = dtemp
116  RETURN
double precision function ddot(N, DX, INCX, DY, INCY)
DDOT
Definition: ddot.f:53

Here is the caller graph for this function: