3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
11 * DOUBLE PRECISION FUNCTION DSDOT(N,SX,INCX,SY,INCY)
13 * .. Scalar Arguments ..
16 * .. Array Arguments ..
22 * Lawson, C. L., (JPL), Hanson, R. J., (SNLA),
23 * Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL)
31 *> Compute the inner product of two vectors with extended
32 *> precision accumulation and result.
34 *> Returns D.P. dot product accumulated in D.P., for S.P. SX and SY
35 *> DSDOT = sum for I = 0 to N-1 of SX(LX+I*INCX) * SY(LY+I*INCY),
36 *> where LX = 1 if INCX .GE. 0, else LX = 1+(1-N)*INCX, and LY is
37 *> defined in a similar way using INCY.
46 *> number of elements in input vector(s)
51 *> SX is REAL array, dimension(N)
52 *> single precision vector with N elements
58 *> storage spacing between elements of SX
63 *> SY is REAL array, dimension(N)
64 *> single precision vector with N elements
70 *> storage spacing between elements of SY
75 *> DSDOT is DOUBLE PRECISION
76 *> DSDOT double precision dot product (zero if N.LE.0)
82 *> \author Univ. of Tennessee
83 *> \author Univ. of California Berkeley
84 *> \author Univ. of Colorado Denver
87 *> \date November 2011
89 *> \ingroup double_blas_level1
91 *> \par Further Details:
92 * =====================
103 *> C. L. Lawson, R. J. Hanson, D. R. Kincaid and F. T.
104 *> Krogh, Basic linear algebra subprograms for Fortran
105 *> usage, Algorithm No. 539, Transactions on Mathematical
106 *> Software 5, 3 (September 1979), pp. 308-323.
108 *> REVISION HISTORY (YYMMDD)
110 *> 791001 DATE WRITTEN
111 *> 890831 Modified array declarations. (WRB)
112 *> 890831 REVISION DATE from Version 3.2
113 *> 891214 Prologue converted to Version 4.0 format. (BAB)
114 *> 920310 Corrected definition of LX in DESCRIPTION. (WRB)
115 *> 920501 Reformatted the REFERENCES section. (WRB)
116 *> 070118 Reformat to LAPACK style (JL)
119 * =====================================================================
120 DOUBLE PRECISION FUNCTION DSDOT(N,SX,INCX,SY,INCY)
122 * -- Reference BLAS level1 routine (version 3.4.0) --
123 * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
124 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
127 * .. Scalar Arguments ..
130 * .. Array Arguments ..
136 * Lawson, C. L., (JPL), Hanson, R. J., (SNLA),
137 * Kincaid, D. R., (U. of Texas), Krogh, F. T., (JPL)
139 * =====================================================================
141 * .. Local Scalars ..
144 * .. Intrinsic Functions ..
149 IF (INCX.EQ.INCY .AND. INCX.GT.0) THEN
151 * Code for equal, positive, non-unit increments.
155 DSDOT = DSDOT + DBLE(SX(I))*DBLE(SY(I))
159 * Code for unequal or nonpositive increments.
163 IF (INCX.LT.0) KX = 1 + (1-N)*INCX
164 IF (INCY.LT.0) KY = 1 + (1-N)*INCY
166 DSDOT = DSDOT + DBLE(SX(KX))*DBLE(SY(KY))