01:       SUBROUTINE ZDSCAL(N,DA,ZX,INCX)
02: *     .. Scalar Arguments ..
03:       DOUBLE PRECISION DA
04:       INTEGER INCX,N
05: *     ..
06: *     .. Array Arguments ..
07:       DOUBLE COMPLEX ZX(*)
08: *     ..
09: *
10: *  Purpose
11: *  =======
12: *
13: *     scales a vector by a constant.
14: *     jack dongarra, 3/11/78.
15: *     modified 3/93 to return if incx .le. 0.
16: *     modified 12/3/93, array(1) declarations changed to array(*)
17: *
18: *
19: *     .. Local Scalars ..
20:       INTEGER I,IX
21: *     ..
22: *     .. Intrinsic Functions ..
23:       INTRINSIC DCMPLX
24: *     ..
25:       IF (N.LE.0 .OR. INCX.LE.0) RETURN
26:       IF (INCX.EQ.1) GO TO 20
27: *
28: *        code for increment not equal to 1
29: *
30:       IX = 1
31:       DO 10 I = 1,N
32:           ZX(IX) = DCMPLX(DA,0.0d0)*ZX(IX)
33:           IX = IX + INCX
34:    10 CONTINUE
35:       RETURN
36: *
37: *        code for increment equal to 1
38: *
39:    20 DO 30 I = 1,N
40:           ZX(I) = DCMPLX(DA,0.0d0)*ZX(I)
41:    30 CONTINUE
42:       RETURN
43:       END
44: