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.0) RETURN
26 IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
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
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.0) RETURN
26 IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
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