2
3
4
5
6
7
8
9 INTEGER INCX, INCY, N
10 COMPLEX DOTU
11
12
13 COMPLEX X( * ), Y( * )
14
15
16
17
18
19
20
21
22
23
24
25 COMPLEX CTEMP
26 INTEGER I,IX,IY
27
28
29
30 ctemp = (0.0d0,0.0d0)
31 dotu = (0.0d0,0.0d0)
32 IF (n.LE.0) RETURN
33 IF (incx.EQ.1 .AND. incy.EQ.1) THEN
34
35
36
37 DO i = 1,n
38 ctemp = ctemp + x(i)*y(i)
39 END DO
40 ELSE
41
42
43
44
45 ix = 1
46 iy = 1
47 IF (incx.LT.0) ix = (-n+1)*incx + 1
48 IF (incy.LT.0) iy = (-n+1)*incy + 1
49 DO i = 1,n
50 ctemp = ctemp + x(ix)*y(iy)
51 ix = ix + incx
52 iy = iy + incy
53 END DO
54 END IF
55 dotu = ctemp
56
57 RETURN
58
59
60