1: *> \brief \b ZDOTU
2: *
3: * =========== DOCUMENTATION ===========
4: *
5: * Online html documentation available at
6: * http://www.netlib.org/lapack/explore-html/
7: *
8: * Definition:
9: * ===========
10: *
11: * COMPLEX*16 FUNCTION ZDOTU(N,ZX,INCX,ZY,INCY)
12: *
13: * .. Scalar Arguments ..
14: * INTEGER INCX,INCY,N
15: * ..
16: * .. Array Arguments ..
17: * COMPLEX*16 ZX(*),ZY(*)
18: * ..
19: *
20: *
21: *> \par Purpose:
22: * =============
23: *>
24: *> \verbatim
25: *>
26: *> ZDOTU forms the dot product of two complex vectors
27: *> ZDOTU = X^T * Y
28: *>
29: *> \endverbatim
30: *
31: * Arguments:
32: * ==========
33: *
34: *> \param[in] N
35: *> \verbatim
36: *> N is INTEGER
37: *> number of elements in input vector(s)
38: *> \endverbatim
39: *>
40: *> \param[in] ZX
41: *> \verbatim
42: *> ZX is REAL array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
43: *> \endverbatim
44: *>
45: *> \param[in] INCX
46: *> \verbatim
47: *> INCX is INTEGER
48: *> storage spacing between elements of ZX
49: *> \endverbatim
50: *>
51: *> \param[in] ZY
52: *> \verbatim
53: *> ZY is REAL array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
54: *> \endverbatim
55: *>
56: *> \param[in] INCY
57: *> \verbatim
58: *> INCY is INTEGER
59: *> storage spacing between elements of ZY
60: *> \endverbatim
61: *
62: * Authors:
63: * ========
64: *
65: *> \author Univ. of Tennessee
66: *> \author Univ. of California Berkeley
67: *> \author Univ. of Colorado Denver
68: *> \author NAG Ltd.
69: *
70: *> \date November 2017
71: *
72: *> \ingroup complex16_blas_level1
73: *
74: *> \par Further Details:
75: * =====================
76: *>
77: *> \verbatim
78: *>
79: *> jack dongarra, 3/11/78.
80: *> modified 12/3/93, array(1) declarations changed to array(*)
81: *> \endverbatim
82: *>
83: * =====================================================================
84: COMPLEX*16 FUNCTION ZDOTU(N,ZX,INCX,ZY,INCY)
85: *
86: * -- Reference BLAS level1 routine (version 3.8.0) --
87: * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
88: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
89: * November 2017
90: *
91: * .. Scalar Arguments ..
92: INTEGER INCX,INCY,N
93: * ..
94: * .. Array Arguments ..
95: COMPLEX*16 ZX(*),ZY(*)
96: * ..
97: *
98: * =====================================================================
99: *
100: * .. Local Scalars ..
101: COMPLEX*16 ZTEMP
102: INTEGER I,IX,IY
103: * ..
104: ZTEMP = (0.0d0,0.0d0)
105: ZDOTU = (0.0d0,0.0d0)
106: IF (N.LE.0) RETURN
107: IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
108: *
109: * code for both increments equal to 1
110: *
111: DO I = 1,N
112: ZTEMP = ZTEMP + ZX(I)*ZY(I)
113: END DO
114: ELSE
115: *
116: * code for unequal increments or equal increments
117: * not equal to 1
118: *
119: IX = 1
120: IY = 1
121: IF (INCX.LT.0) IX = (-N+1)*INCX + 1
122: IF (INCY.LT.0) IY = (-N+1)*INCY + 1
123: DO I = 1,N
124: ZTEMP = ZTEMP + ZX(IX)*ZY(IY)
125: IX = IX + INCX
126: IY = IY + INCY
127: END DO
128: END IF
129: ZDOTU = ZTEMP
130: RETURN
131: END
CVSweb interface <joel.bertrand@systella.fr>