karset
C KARSET SOURCE CB215821 17/11/30 21:16:37 9639 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8 (A-H,O-Z) C********************************************************************* C SP appele par KAINTE C C - MISE A JOUR DES INTERVALLES D INTEGRATION C A : A(1,I),A(2,I) I=1,N INTERVALLES D INTEGRATION C B : TABLEAU DE SAUVEGARDE DE A C X Y : SEGMENT A ENLEVER X<Y C KVU : 0 SI L INTERVALLE EST VIDE C********************************************************************* DIMENSION A(2,NM),B(2,NM) AM=A(1,N+1) KVU=1 DO 1 I=1,N B(1,I)=A(1,I) B(2,I)=A(2,I) 1 CONTINUE C1> IF(X.LT.B(2,N).AND.Y.GT.B(1,1)) THEN C11> IF(X.LE.B(1,1)) THEN IF(Y.GE.B(2,N)) THEN KVU=0 ELSE C** C recherche de j IF (Y.GT.B(1,N)) THEN J=N ELSEIF(N.NE.1) THEN DO 200 J=1,N-1 IF(Y.GT.B(1,J).AND.Y.LE.B(1,J+1)) GOTO 201 200 CONTINUE 201 CONTINUE ENDIF C13> IF(Y.GT.B(2,J)) THEN NI=J IF(J+1.LE.N) THEN DO 22 K=J+1,N 22 CONTINUE ENDIF C13- ELSE A(1,1)= Y A(2,1)= B(2,J) IF(J+1.LE.N) THEN DO 23 K=J+1,N 23 CONTINUE ENDIF ENDIF C13< ENDIF C11- ELSE C2> IF(N.EQ.1) THEN C** N=1 IF(Y.LT.B(2,N)) THEN N=2 A(2,1)=X A(1,2)=Y A(2,2)=B(2,1) ELSE A(2,1)=X ENDIF C2- N::1 ELSE C recherche de i IF (X.GT.B(1,N)) THEN I=N ELSEIF(N.NE.1) THEN DO 300 I=1,N-1 IF(X.GT.B(1,I).AND.X.LE.B(1,I+1)) GOTO 301 300 CONTINUE 301 CONTINUE ENDIF C3> IF(Y.LT.B(2,I)) THEN C** I=J A(2,I)=X A(1,I+1)=Y A(2,I+1)=B(2,I) IF(I+1.LE.N) THEN DO 11 K=I+1,N A(1,K+1)=B(1,K) A(2,K+1)=B(2,K) 11 CONTINUE ENDIF N=N+1 C3- ELSEIF(Y.LT.B(1,I+1)) THEN A(2,I)=MIN(X,B(2,I)) C3- ELSE C** J::I C recherche de j IF (Y.GT.B(1,N)) THEN J=N ELSEIF(N.NE.1) THEN DO 400 J=I+1,N-1 IF(Y.GT.B(1,J).AND.Y.LE.B(1,J+1)) GOTO 401 400 CONTINUE 401 CONTINUE ENDIF C4> IF(Y.LT.B(2,J)) THEN A(2,I)=MIN(X,B(2,I)) A(1,I+1)=Y A(2,I+1)=B(2,J) IF(J+1.LE.N) THEN DO 13 K=J+1,N 13 CONTINUE ENDIF C4- ELSE A(2,I)=MIN(X,B(2,I)) IF(J+1.LE.N) THEN DO 12 K=J+1,N 12 CONTINUE ENDIF ENDIF C4< ENDIF C3< ENDIF C2< ENDIF C11< ENDIF C1< A(1,N+1)=AM RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales