summaryrefslogtreecommitdiff
path: root/BLAS/SRC/dscal.f
diff options
context:
space:
mode:
Diffstat (limited to 'BLAS/SRC/dscal.f')
-rw-r--r--BLAS/SRC/dscal.f48
1 files changed, 25 insertions, 23 deletions
diff --git a/BLAS/SRC/dscal.f b/BLAS/SRC/dscal.f
index 81425a94..986c24eb 100644
--- a/BLAS/SRC/dscal.f
+++ b/BLAS/SRC/dscal.f
@@ -29,34 +29,36 @@
INTRINSIC MOD
* ..
IF (N.LE.0 .OR. INCX.LE.0) RETURN
- IF (INCX.EQ.1) GO TO 20
-*
-* code for increment not equal to 1
-*
- NINCX = N*INCX
- DO 10 I = 1,NINCX,INCX
- DX(I) = DA*DX(I)
- 10 CONTINUE
- RETURN
+ IF (INCX.EQ.1) THEN
*
* code for increment equal to 1
*
*
* clean-up loop
*
- 20 M = MOD(N,5)
- IF (M.EQ.0) GO TO 40
- DO 30 I = 1,M
- DX(I) = DA*DX(I)
- 30 CONTINUE
- IF (N.LT.5) RETURN
- 40 MP1 = M + 1
- DO 50 I = MP1,N,5
- DX(I) = DA*DX(I)
- DX(I+1) = DA*DX(I+1)
- DX(I+2) = DA*DX(I+2)
- DX(I+3) = DA*DX(I+3)
- DX(I+4) = DA*DX(I+4)
- 50 CONTINUE
+ M = MOD(N,5)
+ IF (M.NE.0) THEN
+ DO I = 1,M
+ DX(I) = DA*DX(I)
+ END DO
+ IF (N.LT.5) RETURN
+ END IF
+ MP1 = M + 1
+ DO I = MP1,N,5
+ DX(I) = DA*DX(I)
+ DX(I+1) = DA*DX(I+1)
+ DX(I+2) = DA*DX(I+2)
+ DX(I+3) = DA*DX(I+3)
+ DX(I+4) = DA*DX(I+4)
+ END DO
+ ELSE
+*
+* code for increment not equal to 1
+*
+ NINCX = N*INCX
+ DO I = 1,NINCX,INCX
+ DX(I) = DA*DX(I)
+ END DO
+ END IF
RETURN
END