📄 sub add.for
字号:
SUBROUTINE ADD(N,NAMAX,M,NJ,MJ,JSET,R,NM,DV,JS,ZERO)
DOUBLE PRECISION R(NAMAX,N),NM(NAMAX,N),DV(N),GAMMA,C,S,V,W,ZERO
INTEGER JSET(M)
LOGICAL MJ(M)
DO 1 J=1,N
R(J,NJ+1)=DV(J)
1 CONTINUE
DO 3 J=NJ+2,N
GAMMA=R(NJ+1,NJ+1)**2+R(J,NJ+1)**2
IF (GAMMA.LT.ZERO)GOTO 3
GAMMA=DSQRT(GAMMA)
C=R(NJ+1,NJ+1)/GAMMA
S=R(J,NJ+1)/GAMMA
R(NJ+1,NJ+1)=GAMMA
R(J,NJ+1)=0.0
DO 2 K=1,N
V=NM(K,NJ+1)
W=NM(K,J)
NM(K,NJ+1)=C*V+S*W
NM(K,J)=-S*V+C*W
2 CONTINUE
3 CONTINUE
JSET(NJ+1)=JS
MJ(JS)=.TRUE.
NJ=NJ+1
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -