C OPERLO SOURCE BP208322 12/07/10 21:15:23 7432 C DONNE LE LOGARITHME NATUREL D'UN NOMBRE C SUBROUTINE OPERLO C IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C -INC CCOPTIO C C CHPOINT C CALL LIROBJ('CHPOINT ',IPO1,0,IRETOU) IF (IRETOU.EQ.0) GOTO 10 CALL OPCHPO(IPO1,8,IPO2) IF(IPO2.EQ.0) RETURN CALL ECROBJ('CHPOINT ',IPO2) RETURN C C MCHAML C 10 CONTINUE CALL LIROBJ('MCHAML',IPO1,0,IRETOU) IF (IRETOU.EQ.0) GOTO 20 CALL OPCHEL(IPO1,8,IPO2) CALL ECROBJ('MCHAML',IPO2) RETURN C C LISTREEL C 20 CONTINUE CALL LIROBJ('LISTREEL',IPO1,0,IRETOU) IF (IRETOU.EQ.0) GOTO 30 CALL OPLREE(IPO1,8,IPO2) IF (IERR .NE. 0) RETURN CALL ECROBJ('LISTREEL',IPO2) RETURN C 30 CONTINUE C C FLOTTANT C CALL LIRREE(X1,0,IRETOU) IF(IRETOU.EQ.0) GO TO 40 IF (X1.LE.0.) CALL ERREUR(36) IF (IERR.NE.0) RETURN X2=LOG(X1) CALL ECRREE(X2) RETURN C C EVOLUTION C 40 CONTINUE CALL LIROBJ('EVOLUTIO',IPO1,0,IRETOU) IF (IRETOU.EQ.0) GO TO 50 CALL OPEVOL(IPO1,8,IPO2) CALL ECROBJ('EVOLUTIO',IPO2) RETURN C C C PAS D OPERANDE CORRECTE TROUVE C 50 CALL QUETYP(MOTERR(1:8),0,IRETOU) IF(IRETOU.NE.0) THEN CALL ERREUR (39) ELSE CALL ERREUR(533) ENDIF RETURN END