diff options
Diffstat (limited to 'BLAS/SRC/zcopy.f')
-rw-r--r-- | BLAS/SRC/zcopy.f | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/BLAS/SRC/zcopy.f b/BLAS/SRC/zcopy.f index 793be5c5..49bf4aca 100644 --- a/BLAS/SRC/zcopy.f +++ b/BLAS/SRC/zcopy.f @@ -23,26 +23,27 @@ INTEGER I,IX,IY * .. IF (N.LE.0) RETURN - IF (INCX.EQ.1 .AND. INCY.EQ.1) GO TO 20 -* -* code for unequal increments or equal increments -* not equal to 1 -* - IX = 1 - IY = 1 - IF (INCX.LT.0) IX = (-N+1)*INCX + 1 - IF (INCY.LT.0) IY = (-N+1)*INCY + 1 - DO 10 I = 1,N - ZY(IY) = ZX(IX) - IX = IX + INCX - IY = IY + INCY - 10 CONTINUE - RETURN + IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN * * code for both increments equal to 1 * - 20 DO 30 I = 1,N + DO I = 1,N ZY(I) = ZX(I) - 30 CONTINUE + END DO + ELSE +* +* code for unequal increments or equal increments +* not equal to 1 +* + IX = 1 + IY = 1 + IF (INCX.LT.0) IX = (-N+1)*INCX + 1 + IF (INCY.LT.0) IY = (-N+1)*INCY + 1 + DO I = 1,N + ZY(IY) = ZX(IX) + IX = IX + INCX + IY = IY + INCY + END DO + END IF RETURN END |