C INSER8 SOURCE CHAT 05/01/13 00:39:03 5004 SUBROUTINE INSER8 (MLCHPO,IEME,IPCHPO,MLCHP1) ************************************************************************ * * I N S E R 4 * ----------- * * FONCTION: * --------- * * INSERER UN 'CHPOINT' EN I-EME POSITION (ET NON PAS APRES LA I-EME * POSITION) DANS LA SUITE DE TYPE 'LISTCHPO'. * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * IPOINT ENTIER (E) POINTEUR DE LA SUITE DE TYPE "LISTCHPO". * IEME ENTIER (E) POSITION D'INSERTION DU "CHPOINT" DANS * LA SUITE DE TYPE "LISTCHPO". * IPCHPO ENTIER (E) POINTEUR DU "CHPOINT" A INSERER. * MLCHP1 ENTIER (E) POINTEUR DE LA SUITE DE TYPE "LISTCHPO". * * SOUS-PROGRAMMES APPELES: * ------------------------ * * ERREUR * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 22 FEVRIER 1985 * * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMLCHPO * SEGACT,MLCHPO LDIM = ICHPOI(/1) LDIM1 = LDIM + 1 * * IF (0 .LT. IEME .AND. IEME .LE. LDIM1) THEN N1 = LDIM1 SEGINI MLCHP1 MLCHP1.ICHPOI(IEME) = IPCHPO IF ( IEME .GT . 1 ) THEN DO 100 I=1 ,(IEME-1) MLCHP1.ICHPOI(I) = MLCHPO.ICHPOI(I) 100 CONTINUE ENDIF IF ( IEME .LT .LDIM1) THEN DO 110 I= IEME , LDIM MLCHP1.ICHPOI(I + 1 ) = MLCHPO.ICHPOI(I) 110 CONTINUE ENDIF SEGDES,MLCHP1 ELSE INTERR(1) = IEME NUMERR = 36 CALL ERREUR (NUMERR) * END IF * SEGDES,MLCHPO * END