ooomex
C OOOMEX SOURCE PV090527 26/04/24 08:23:13 12524 SUBROUTINE OOOMEX (ISEG,LSG2) C--------------------------------------------------------------------- C C EXTENSION D'UN SEGMENT DANS LE TROU SUIVANT C C C ISEG INDICE DU SEGMENT A ETENDRE C LSG2 LONGUEUR DESIREE POUR LE SEGMENT (MULTIPLE DE MSLSM) C C L' EXTENSION SE FAIT DANS LE TROU QUI SUIT LE BLOC , SI CELUI-CI C EST ABSENT OU TROP PETIT , L EXTENSION SERA NULLE OU INCOMPLETE C C PROGRAMMEUR : MOUGIN C MODIF : 09/01/89 EXTRAIT DE OOOMIN (NETTOYAGE DE PRINTEMPS) C MODIF : 27/02/89 ARGUMENTS : IZ => IZA , KZ => ZMEMDYN C C----------------------------------------------------------------------- C %INC IOOADR %INC IOOADZ %INC IOOSGM %INC IOOTRO %INC IOOTF1 %INC IOOTF2 %INC IOOUNIT C ->LSG1 LA LONGUEUR ACTUELLE DU SEGMENT C ->IT1 L'INDICE DU TROU A DROITE DU SEGMENT C ->LT1 LA LONGUEUR DU TROU A DROITE DU SEGMENT C ->LEXT LA LONGUEUR DE TROU A UTILISER LSG1 = MSLS1(ISEG) IT1 = ISEG+LSG1 IF (IT1.EQ.MZPRTR) MZPRTR=ISEG LT1 = -MTLT1(IT1) LEXT = MIN(LT1,LSG2-LSG1) MZLTROU(IZA,ZMEMDYN) = MZLTROU(IZA,ZMEMDYN)-LEXT C C****** SI LE TROU CORRESPOND JUSTE A LA DEMANDE,ON LE RETIRE DE LA C CHAINE DES TROUS ITP = INDICE_TROU_PRECEDENT(IT1) ITS = INDICE_TROU_SUIVANT (IT1) IF (LT1.EQ.LEXT) THEN INDICE_TROU_PRECEDENT(ITS) = ITP INDICE_TROU_SUIVANT (ITP) = ITS IF (MZITS0(IZA,ZMEMDYN).EQ.IT1) MZITS0(IZA,ZMEMDYN) = ITS ELSE IT2 = IT1+LEXT LT2 = LT1-LEXT INDICE_TROU_PRECEDENT(ITS) = IT2 INDICE_TROU_SUIVANT (ITP) = IT2 INDICE_TROU_PRECEDENT(IT2) = ITP INDICE_TROU_SUIVANT (IT2) = ITS MTLT1(IT2) = -LT2 MTLT2(IT2) = -LT2 IF (MZITS0(IZA,ZMEMDYN).EQ.IT1) MZITS0(IZA,ZMEMDYN) = IT2 ENDIF C ON EFFACE LA FRONTIERE ENTRE ANCIEN/NOUVEAU BLOC INDICE_TROU_PRECEDENT(IT1) = 0 INDICE_TROU_SUIVANT (IT1) = 0 MTLT1 (IT1) = 0 MTLTP (IT1) = 0 C LONGUEUR DU BLOC ETENDU MSLS1(ISEG) = LSG1+LEXT MSLS2(ISEG) = LSG1+LEXT END
© Cast3M 2003 - Tous droits réservés.
Mentions légales