📄 sub contes.for
字号:
SUBROUTINE CONTES(N,ME,M,NAMAX,X,U,PFUN,OLDPF,CFUN,
* OGRA,CGRA,LGRA,BOUND,EPS1,EPS2,INDEX)
DOUBLE PRECISION X(N),U(M),PFUN,OLDPF,CFUN(M),OGRA(N),
* CGRA(NAMAX,M),LGRA(N),EPS1,EPS2,BOUND,CMAX
DO 1 J=1,N
IF(DABS(X(J)).GT.BOUND) THEN
INDEX=4
RETURN
ENDIF
1 CONTINUE
DO 2 J=1,N
LGRA(J)=OGRA(J)
DO 2 I=1,M
LGRA(J)=LGRA(J)-U(I)*CGRA(J,I)
2 CONTINUE
DO 3 J=1,N
IF(DABS(LGRA(J)).GT.EPS1) THEN
INDEX=2
GOTO 7
ENDIF
3 CONTINUE
CMAX=0.0
DO 4 I=1,ME
CMAX=DMAX1(CMAX,DABS(CFUN(I)))
4 CONTINUE
DO 5 I=ME+1,M
CMAX=DMAX1(CMAX,-CFUN(I))
5 CONTINUE
IF (CMAX.GT.EPS1) THEN
INDEX=2
GOTO 7
ENDIF
DO 6 I=ME+1,M
IF (U(I).GT.EPS1.AND.CFUN(I).GT.EPS1) THEN
INDEX=2
GOTO 7
ENDIF
6 CONTINUE
INDEX=1
7 IF (OLDPF-PFUN.LT.EPS2*(1.0D0+DABS(PFUN))) THEN
IF (INDEX.EQ.2) RETURN
INDEX=0
ELSE
IF (INDEX.EQ.1) RETURN
INDEX=3
ENDIF
RETURN
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -