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.0RETURN
28       IF (INCX.EQ.1THEN
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