1       SUBROUTINE CCOPY(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 *     CCOPY copies a vector x to a vector y.
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       INTEGER I,IX,IY
24 *     ..
25       IF (N.LE.0RETURN
26       IF (INCX.EQ.1 .AND. INCY.EQ.1THEN
27 *
28 *        code for both increments equal to 1
29 *
30          DO I = 1,N
31             CY(I) = CX(I)
32          END DO
33       ELSE
34 *
35 *        code for unequal increments or equal increments
36 *          not equal to 1
37 *
38          IX = 1
39          IY = 1
40          IF (INCX.LT.0) IX = (-N+1)*INCX + 1
41          IF (INCY.LT.0) IY = (-N+1)*INCY + 1
42          DO I = 1,N
43             CY(IY) = CX(IX)
44             IX = IX + INCX
45             IY = IY + INCY
46          END DO
47       END IF
48       RETURN
49       END