C OPERHY SOURCE BP208322 12/07/10 21:15:22 7432 SUBROUTINE OPERHY(ICAS) C C CALCUL DE COSH (ICAS=1),SINH (ICAS=2),TANH (ICAS=3) C IMPLICIT INTEGER(I-N) -INC CCOPTIO REAL*8 X1,X2 JCAS = ICAS + 9 C C CHPOINT C CALL LIROBJ('CHPOINT ',IPO1,0,IRETOU) IF (IRETOU.EQ.0) GOTO 10 CALL OPCHPO(IPO1,JCAS,IPO2) CALL ECROBJ('CHPOINT ',IPO2) RETURN C C CHAMELEM C 10 CONTINUE CALL LIROBJ('MCHAML',IPO1,0,IRETOU) IF (IRETOU.EQ.0) GO TO 20 CALL OPCHEL(IPO1,JCAS,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,JCAS,IPO2) 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(ICAS.EQ.1) X2 = COSH(X1) IF(ICAS.EQ.2) X2 = SINH(X1) IF(ICAS.EQ.3) X2 = TANH(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,JCAS,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