C PARTAN    SOURCE    CHAT      05/01/13    02:09:34     5004
      SUBROUTINE PARTAN(IVLAMB,IVPR,IVGE,IVGM)
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 ( A-H,O-Z)
-INC PPARAM
-INC CCOPTIO
-INC SMLREEL
      POINTEUR MLREE4.MLREEL,MLREE5.MLREEL
      MLREEL=IVLAMB
      MLREE1=IVPR

      MLREE5=IVGE
      SEGACT MLREE1,MLREEL,MLREE5*mod
      JG = PROG(/1)
      DO 2 I=1,JG
        MLREE5.PROG(I)=PROG(I) - MLREE1.PROG(I)
   2  CONTINUE
*
*  CALCUL DE LA DIRECTION DE MONTEE on verifie en fait que la
* direction calculee precedemment est compatible avec le fait que
* lambda doit rester positif
*
      MLREE4 = IVGM
      SEGACT MLREE4*mod
      DO 20 I=1,JG
         MLREE4.PROG(I) = MLREE5.PROG(I)
   20 CONTINUE
        DO 3 I=1,JG
            IF(MLREE5.PROG(I).LT.0.D0) THEN
              IF(PROG(I).EQ.0.) THEN
                MLREE4.PROG(I)=0.D0
              ENDIF
            ENDIF
    3   CONTINUE
         SEGSUP MLREEL
         IVLAMB=MLREE1
      RETURN
      END


