--- rpl/lapack/blas/zdscal.f 2010/12/21 13:51:26 1.6 +++ rpl/lapack/blas/zdscal.f 2011/07/22 07:38:02 1.7 @@ -22,27 +22,27 @@ * ===================================================================== * * .. Local Scalars .. - INTEGER I,IX + INTEGER I,NINCX * .. * .. Intrinsic Functions .. INTRINSIC DCMPLX * .. IF (N.LE.0 .OR. INCX.LE.0) RETURN - IF (INCX.EQ.1) GO TO 20 + IF (INCX.EQ.1) THEN * -* code for increment not equal to 1 +* code for increment equal to 1 * - IX = 1 - DO 10 I = 1,N - ZX(IX) = DCMPLX(DA,0.0d0)*ZX(IX) - IX = IX + INCX - 10 CONTINUE - RETURN + DO I = 1,N + ZX(I) = DCMPLX(DA,0.0d0)*ZX(I) + END DO + ELSE * -* code for increment equal to 1 +* code for increment not equal to 1 * - 20 DO 30 I = 1,N - ZX(I) = DCMPLX(DA,0.0d0)*ZX(I) - 30 CONTINUE + NINCX = N*INCX + DO I = 1,NINCX,INCX + ZX(I) = DCMPLX(DA,0.0d0)*ZX(I) + END DO + END IF RETURN END