01: SUBROUTINE CSSCAL(N,SA,CX,INCX) 02: * .. Scalar Arguments .. 03: REAL SA 04: INTEGER INCX,N 05: * .. 06: * .. Array Arguments .. 07: COMPLEX CX(*) 08: * .. 09: * 10: * Purpose 11: * ======= 12: * 13: * CSSCAL scales a complex vector by a real 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: * .. Intrinsic Functions .. 28: INTRINSIC AIMAG,CMPLX,REAL 29: * .. 30: IF (N.LE.0 .OR. INCX.LE.0) RETURN 31: IF (INCX.EQ.1) GO TO 20 32: * 33: * code for increment not equal to 1 34: * 35: NINCX = N*INCX 36: DO 10 I = 1,NINCX,INCX 37: CX(I) = CMPLX(SA*REAL(CX(I)),SA*AIMAG(CX(I))) 38: 10 CONTINUE 39: RETURN 40: * 41: * code for increment equal to 1 42: * 43: 20 DO 30 I = 1,N 44: CX(I) = CMPLX(SA*REAL(CX(I)),SA*AIMAG(CX(I))) 45: 30 CONTINUE 46: RETURN 47: END 48: