1 COMPLEX FUNCTION CDOTU(N,CX,INCX,CY,INCY)
2 * .. Scalar Arguments ..
3 INTEGER INCX,INCY,N
4 * ..
5 * .. Array Arguments ..
6 COMPLEX CX(*),CY(*)
7 * ..
8 *
9 * Purpose
10 * =======
11 *
12 * CDOTU forms the dot product of two vectors.
13 *
14 * Further Details
15 * ===============
16 *
17 * jack dongarra, linpack, 3/11/78.
18 * modified 12/3/93, array(1) declarations changed to array(*)
19 *
20 * =====================================================================
21 *
22 * .. Local Scalars ..
23 COMPLEX CTEMP
24 INTEGER I,IX,IY
25 * ..
26 CTEMP = (0.0,0.0)
27 CDOTU = (0.0,0.0)
28 IF (N.LE.0) RETURN
29 IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
30 *
31 * code for both increments equal to 1
32 *
33 DO I = 1,N
34 CTEMP = CTEMP + CX(I)*CY(I)
35 END DO
36 ELSE
37 *
38 * code for unequal increments or equal increments
39 * not equal to 1
40 *
41 IX = 1
42 IY = 1
43 IF (INCX.LT.0) IX = (-N+1)*INCX + 1
44 IF (INCY.LT.0) IY = (-N+1)*INCY + 1
45 DO I = 1,N
46 CTEMP = CTEMP + CX(IX)*CY(IY)
47 IX = IX + INCX
48 IY = IY + INCY
49 END DO
50 END IF
51 CDOTU = CTEMP
52 RETURN
53 END
2 * .. Scalar Arguments ..
3 INTEGER INCX,INCY,N
4 * ..
5 * .. Array Arguments ..
6 COMPLEX CX(*),CY(*)
7 * ..
8 *
9 * Purpose
10 * =======
11 *
12 * CDOTU forms the dot product of two vectors.
13 *
14 * Further Details
15 * ===============
16 *
17 * jack dongarra, linpack, 3/11/78.
18 * modified 12/3/93, array(1) declarations changed to array(*)
19 *
20 * =====================================================================
21 *
22 * .. Local Scalars ..
23 COMPLEX CTEMP
24 INTEGER I,IX,IY
25 * ..
26 CTEMP = (0.0,0.0)
27 CDOTU = (0.0,0.0)
28 IF (N.LE.0) RETURN
29 IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
30 *
31 * code for both increments equal to 1
32 *
33 DO I = 1,N
34 CTEMP = CTEMP + CX(I)*CY(I)
35 END DO
36 ELSE
37 *
38 * code for unequal increments or equal increments
39 * not equal to 1
40 *
41 IX = 1
42 IY = 1
43 IF (INCX.LT.0) IX = (-N+1)*INCX + 1
44 IF (INCY.LT.0) IY = (-N+1)*INCY + 1
45 DO I = 1,N
46 CTEMP = CTEMP + CX(IX)*CY(IY)
47 IX = IX + INCX
48 IY = IY + INCY
49 END DO
50 END IF
51 CDOTU = CTEMP
52 RETURN
53 END