2
    3
    4
    5
    6
    7
    8
    9      INTEGER            INCX, INCY, N
   10      COMPLEX            DOTC
   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      INTRINSIC conjg
   30
   31
   32
   33      ctemp = (0.0d0,0.0d0)
   34      dotc = (0.0d0,0.0d0)
   35      IF (n.LE.0) RETURN
   36      IF (incx.EQ.1 .AND. incy.EQ.1) THEN
   37
   38
   39
   40         DO i = 1,n
   41            ctemp = ctemp + conjg(x(i))*y(i)
   42         END DO
   43      ELSE
   44
   45
   46
   47
   48         ix = 1
   49         iy = 1
   50         IF (incx.LT.0) ix = (-n+1)*incx + 1
   51         IF (incy.LT.0) iy = (-n+1)*incy + 1
   52         DO i = 1,n
   53            ctemp = ctemp + conjg(x(ix))*y(iy)
   54            ix = ix + incx
   55            iy = iy + incy
   56         END DO
   57      END IF
   58      dotc = ctemp
   59
   60      RETURN
   61
   62
   63