Skip to content

Commit

Permalink
Modernize F77 code
Browse files Browse the repository at this point in the history
Gcc 4.8 requires the loop label to be at the "END DO" line, so we make this
change in this commit. This only affects the special functions evaluation code
in tests/well/special.f90, which was written in F77.
  • Loading branch information
certik committed Nov 29, 2014
1 parent d9043ba commit e5b9b08
Showing 1 changed file with 18 additions and 9 deletions.
27 changes: 18 additions & 9 deletions tests/well/special.f90
Expand Up @@ -69,7 +69,8 @@ SUBROUTINE SPHJ(N,X,NM,SJ,DJ)
IF (DABS(X).LT.1.0D-100) THEN
DO 10 K=0,N
SJ(K)=0.0D0
10 DJ(K)=0.0D0
DJ(K)=0.0D0
10 END DO
SJ(0)=1.0D0
IF (N.GT.0) THEN
DJ(1)=.3333333333333333D0
Expand Down Expand Up @@ -98,15 +99,18 @@ SUBROUTINE SPHJ(N,X,NM,SJ,DJ)
F=(2.0D0*K+3.0D0)*F1/X-F0
IF (K.LE.NM) SJ(K)=F
F0=F1
15 F1=F
F1=F
15 END DO
CS=0.0D0
IF (DABS(SA).GT.DABS(SB)) CS=SA/F
IF (DABS(SA).LE.DABS(SB)) CS=SB/F0
DO 20 K=0,NM
20 SJ(K)=CS*SJ(K)
SJ(K)=CS*SJ(K)
20 END DO
ENDIF
DO 25 K=1,NM
25 DJ(K)=SJ(K-1)-(K+1.0D0)*SJ(K)/X
DJ(K)=SJ(K-1)-(K+1.0D0)*SJ(K)/X
25 END DO
RETURN
END SUBROUTINE

Expand All @@ -128,7 +132,8 @@ SUBROUTINE SPHY(N,X,NM,SY,DY)
IF (X.LT.1.0D-60) THEN
DO 10 K=0,N
SY(K)=-1.0D+300
10 DY(K)=1.0D+300
DY(K)=1.0D+300
10 END DO
RETURN
ENDIF
SY(0)=-DCOS(X)/X
Expand All @@ -144,10 +149,12 @@ SUBROUTINE SPHY(N,X,NM,SY,DY)
SY(K)=F
IF (DABS(F).GE.1.0D+300) GO TO 20
F0=F1
15 F1=F
F1=F
15 END DO
20 NM=K-1
DO 25 K=1,NM
25 DY(K)=SY(K-1)-(K+1.0D0)*SY(K)/X
DY(K)=SY(K-1)-(K+1.0D0)*SY(K)/X
25 END DO
RETURN
END SUBROUTINE

Expand Down Expand Up @@ -175,7 +182,8 @@ INTEGER FUNCTION MSTA1(X,MP)
N0=N1
F0=F1
N1=NN
10 F1=F
F1=F
10 END DO
20 MSTA1=NN
RETURN
END FUNCTION
Expand Down Expand Up @@ -213,7 +221,8 @@ INTEGER FUNCTION MSTA2(X,N,MP)
N0=N1
F0=F1
N1=NN
10 F1=F
F1=F
10 END DO
20 MSTA2=NN+10
RETURN
END FUNCTION
Expand Down

0 comments on commit e5b9b08

Please sign in to comment.