C BORNE3 SOURCE FANDEUR 11/04/12 21:15:06 6938 SUBROUTINE BORNE3 (IEVOLE,MLIEVO,MLIOPE,MLBMIN,MLBMAX, IEVOLS) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) -INC CCOPTIO -INC SMEVOLL -INC SMLENTI -INC SMLREEL C- Activation de l'evolution en entree MEVOL1 = IEVOLE SEGACT,MEVOL1 NCOUR = MEVOL1.IEVOLL(/1) C- Creation de l'evolution resultat IEVOLS = 0 SEGINI,MEVOLL=MEVOL1 C- Quelques verifications MLENTI = MLIEVO C* SEGACT,MLENTI DO i = 1, LECT(/1) icour = LECT(i) IF (icour.LE.0) THEN CALL ERREUR(352) ELSE IF (icour.GT.NCOUR) THEN INTERR(1) = icour CALL ERREUR(351) ELSE DO j = 1, i-1 IF (icour.EQ.LECT(j)) LECT(j) = 0 ENDDO ENDIF ENDDO IF (IERR.NE.0) GOTO 900 N = 0 DO i = 1, LECT(/1) IF (LECT(i).NE.0) N = N+1 ENDDO IF (N.EQ.0) CALL ERREUR(5) IF (N.NE.NCOUR) SEGADJ,MEVOLL C- Realisation du bornage des courbes MLENT1 = MLIOPE C* SEGACT,MLENT1 MLREE1 = MLBMIN C* SEGACT,MLREE1 MLREE2 = MLBMAX C* SEGACT,MLREE2 N = 0 DO i = 1, LECT(/1) icour = LECT(i) IF (icour.NE.0) THEN N = N+1 KEVOL1 = MEVOL1.IEVOLL(icour) SEGINI,KEVOLL=KEVOL1 ILREEE = IPROGY INDOPE = MLENT1.LECT(i) XBMIN = MLREE1.PROG(i) XBMAX = MLREE2.PROG(i) CALL BORNE2(ILREEE,INDOPE,XBMIN,XBMAX,ILREES) IPROGY = ILREES SEGDES,KEVOLL IEVOLL(N) = KEVOLL ENDIF ENDDO IEVOLS = MEVOLL 900 CONTINUE IF (IEVOLS.NE.0) THEN SEGDES,MEVOLL ELSE SEGSUP,MEVOLL ENDIF SEGDES,MEVOL1 RETURN END