1 SUBROUTINE ZDSCAL(N,DA,ZX,INCX)
2 * .. Scalar Arguments ..
3 DOUBLE PRECISION DA
4 INTEGER INCX,N
5 * ..
6 * .. Array Arguments ..
7 DOUBLE COMPLEX ZX(*)
8 * ..
9 *
10 * Purpose
11 * =======
12 *
13 * ZDSCAL 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,NINCX
26 * ..
27 * .. Intrinsic Functions ..
28 INTRINSIC DCMPLX
29 * ..
30 IF (N.LE.0 .OR. INCX.LE.0) RETURN
31 IF (INCX.EQ.1) THEN
32 *
33 * code for increment equal to 1
34 *
35 DO I = 1,N
36 ZX(I) = DCMPLX(DA,0.0d0)*ZX(I)
37 END DO
38 ELSE
39 *
40 * code for increment not equal to 1
41 *
42 NINCX = N*INCX
43 DO I = 1,NINCX,INCX
44 ZX(I) = DCMPLX(DA,0.0d0)*ZX(I)
45 END DO
46 END IF
47 RETURN
48 END
2 * .. Scalar Arguments ..
3 DOUBLE PRECISION DA
4 INTEGER INCX,N
5 * ..
6 * .. Array Arguments ..
7 DOUBLE COMPLEX ZX(*)
8 * ..
9 *
10 * Purpose
11 * =======
12 *
13 * ZDSCAL 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,NINCX
26 * ..
27 * .. Intrinsic Functions ..
28 INTRINSIC DCMPLX
29 * ..
30 IF (N.LE.0 .OR. INCX.LE.0) RETURN
31 IF (INCX.EQ.1) THEN
32 *
33 * code for increment equal to 1
34 *
35 DO I = 1,N
36 ZX(I) = DCMPLX(DA,0.0d0)*ZX(I)
37 END DO
38 ELSE
39 *
40 * code for increment not equal to 1
41 *
42 NINCX = N*INCX
43 DO I = 1,NINCX,INCX
44 ZX(I) = DCMPLX(DA,0.0d0)*ZX(I)
45 END DO
46 END IF
47 RETURN
48 END