LAPACK  3.6.1
LAPACK: Linear Algebra PACKage
real function sdot ( integer  N,
real, dimension(*)  SX,
integer  INCX,
real, dimension(*)  SY,
integer  INCY 
)

SDOT

Purpose:
    SDOT 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 sdot.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  REAL sx(*),sy(*)
64 * ..
65 *
66 * =====================================================================
67 *
68 * .. Local Scalars ..
69  REAL stemp
70  INTEGER i,ix,iy,m,mp1
71 * ..
72 * .. Intrinsic Functions ..
73  INTRINSIC mod
74 * ..
75  stemp = 0.0e0
76  sdot = 0.0e0
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  stemp = stemp + sx(i)*sy(i)
89  END DO
90  IF (n.LT.5) THEN
91  sdot=stemp
92  RETURN
93  END IF
94  END IF
95  mp1 = m + 1
96  DO i = mp1,n,5
97  stemp = stemp + sx(i)*sy(i) + sx(i+1)*sy(i+1) +
98  $ sx(i+2)*sy(i+2) + sx(i+3)*sy(i+3) + sx(i+4)*sy(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  stemp = stemp + sx(ix)*sy(iy)
111  ix = ix + incx
112  iy = iy + incy
113  END DO
114  END IF
115  sdot = stemp
116  RETURN
real function sdot(N, SX, INCX, SY, INCY)
SDOT
Definition: sdot.f:53

Here is the caller graph for this function: