Numérotation des lignes :

C KARSET    SOURCE    CB215821  17/11/30    21:16:37     9639                 SUBROUTINE KARSET(A,B,N,NM,X,Y,KVU)      IMPLICIT INTEGER(I-N)      IMPLICIT REAL*8 (A-H,O-Z)C*********************************************************************C SP appele par KAINTECC -  MISE A JOUR DES INTERVALLES D INTEGRATIONC    A   : A(1,I),A(2,I) I=1,N  INTERVALLES D INTEGRATIONC    B   : TABLEAU DE SAUVEGARDE DE AC    X Y : SEGMENT A ENLEVER X&lt;YC    KVU : 0 SI L INTERVALLE EST VIDEC*********************************************************************      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        ELSEC**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 201200    CONTINUE201    CONTINUE      ENDIF  C13>        IF(Y.GT.B(2,J))  THEN         NI=J         IF(J+1.LE.N) THEN            DO 22 K=J+1,N            A(1,K-NI)=B(1,K)            A(2,K-NI)=B(2,K) 22         CONTINUE          ENDIF         N=N-NIC13-        ELSE         A(1,1)= Y         A(2,1)= B(2,J)         NI=J-1         IF(J+1.LE.N) THEN            DO 23 K=J+1,N            A(1,K-NI)=B(1,K)            A(2,K-NI)=B(2,K) 23         CONTINUE         ENDIF         N=N-NI         ENDIFC13&lt;        ENDIFC11-      ELSEC2>      IF(N.EQ.1) THENC**  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       ELSEC 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 301300    CONTINUE301    CONTINUE      ENDIFC3>        IF(Y.LT.B(2,I))  THENC** 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+1C3-        ELSEIF(Y.LT.B(1,I+1)) THEN          A(2,I)=MIN(X,B(2,I))C3-        ELSEC** J::IC 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 401400    CONTINUE401    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)           NI=J-I-1           IF(J+1.LE.N) THEN            DO 13 K=J+1,N            A(1,K-NI)=B(1,K)            A(2,K-NI)=B(2,K) 13         CONTINUE           ENDIF           N=N-NIC4-        ELSE           A(2,I)=MIN(X,B(2,I))           NI=J-I            IF(J+1.LE.N) THEN            DO 12 K=J+1,N            A(1,K-NI)=B(1,K)            A(2,K-NI)=B(2,K) 12         CONTINUE            ENDIF           N=N-NI         ENDIFC4&lt;        ENDIFC3&lt;      ENDIFC2&lt;      ENDIFC11&lt;      ENDIFC1&lt;      A(1,N+1)=AM        RETURN      END

© Cast3M 2003 - Tous droits réservés.
Mentions légales