1 SUBROUTINE CSCAL(N,CA,CX,INCX)
2 * .. Scalar Arguments ..
3 COMPLEX CA
4 INTEGER INCX,N
5 * ..
6 * .. Array Arguments ..
7 COMPLEX CX(*)
8 * ..
9 *
10 * Purpose
11 * =======
12 *
13 * CSCAL scales a vector by a constant.
14 *
15 * Further Details
16 * ===============
17 *
18 * jack dongarra, linpack, 3/11/78.
19 * modified 3/93 to return if incx .le. 0.
20 * modified 12/3/93, array(1) declarations changed to array(*)
21 *
22 * =====================================================================
23 *
24 * .. Local Scalars ..
25 INTEGER I,NINCX
26 * ..
27 IF (N.LE.0 .OR. INCX.LE.0) RETURN
28 IF (INCX.EQ.1) THEN
29 *
30 * code for increment equal to 1
31 *
32 DO I = 1,N
33 CX(I) = CA*CX(I)
34 END DO
35 ELSE
36 *
37 * code for increment not equal to 1
38 *
39 NINCX = N*INCX
40 DO I = 1,NINCX,INCX
41 CX(I) = CA*CX(I)
42 END DO
43 END IF
44 RETURN
45 END
2 * .. Scalar Arguments ..
3 COMPLEX CA
4 INTEGER INCX,N
5 * ..
6 * .. Array Arguments ..
7 COMPLEX CX(*)
8 * ..
9 *
10 * Purpose
11 * =======
12 *
13 * CSCAL scales a vector by a constant.
14 *
15 * Further Details
16 * ===============
17 *
18 * jack dongarra, linpack, 3/11/78.
19 * modified 3/93 to return if incx .le. 0.
20 * modified 12/3/93, array(1) declarations changed to array(*)
21 *
22 * =====================================================================
23 *
24 * .. Local Scalars ..
25 INTEGER I,NINCX
26 * ..
27 IF (N.LE.0 .OR. INCX.LE.0) RETURN
28 IF (INCX.EQ.1) THEN
29 *
30 * code for increment equal to 1
31 *
32 DO I = 1,N
33 CX(I) = CA*CX(I)
34 END DO
35 ELSE
36 *
37 * code for increment not equal to 1
38 *
39 NINCX = N*INCX
40 DO I = 1,NINCX,INCX
41 CX(I) = CA*CX(I)
42 END DO
43 END IF
44 RETURN
45 END