01:       SUBROUTINE ZSCAL(N,ZA,ZX,INCX)
02: *     .. Scalar Arguments ..
03:       DOUBLE COMPLEX ZA
04:       INTEGER INCX,N
05: *     ..
06: *     .. Array Arguments ..
07:       DOUBLE COMPLEX ZX(*)
08: *     ..
09: *
10: *  Purpose
11: *  =======
12: *
13: *     ZSCAL scales a vector by a constant.
14: *
15: *  Further Details
16: *  ===============
17: *
18: *     jack dongarra, 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,IX
26: *     ..
27:       IF (N.LE.0 .OR. INCX.LE.0) RETURN
28:       IF (INCX.EQ.1) GO TO 20
29: *
30: *        code for increment not equal to 1
31: *
32:       IX = 1
33:       DO 10 I = 1,N
34:           ZX(IX) = ZA*ZX(IX)
35:           IX = IX + INCX
36:    10 CONTINUE
37:       RETURN
38: *
39: *        code for increment equal to 1
40: *
41:    20 DO 30 I = 1,N
42:           ZX(I) = ZA*ZX(I)
43:    30 CONTINUE
44:       RETURN
45:       END
46: