xtx3
C XTX3 SOURCE CB215821 20/11/25 13:43:34 10792 C======================================================================= C ENTREES C ICH1 POINTEUR SUR UN CHPOINT C ICH2 POINTEUR SUR UN CHPOINT C FLO1 FLOTTANT C FLO2 FLOTTANT C SORTIES C XDRET = XTX FLO1 * ICH1 + FLO2 * FLO2 C IRET = 1 SI SUCCES 0 SINON C======================================================================= IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) PARAMETER(XZER=0.D0) -INC PPARAM -INC CCOPTIO -INC SMCHPOI DIMENSION ITR(40) C XDRET=XZER IRET=1 C MCHPO1=ICH1 MCHPO2=ICH2 C SEGACT MCHPO1,MCHPO2 NS1=MCHPO1.IPCHP(/1) NS2=MCHPO2.IPCHP(/1) MOTERR(1:8)=MCHPO1.MTYPOI MOTERR(9:16)=MCHPO2.MTYPOI C C LES CHPOINTS SONT ILS COMPATIBLES ?? C IF(MCHPO1.IFOPOI.NE.MCHPO2.IFOPOI) GOTO 166 IF(NS1.NE.NS2) GOTO 166 C GOTO 20 C C GESTION DE L ERREUR C 166 CONTINUE IRET=0 GOTO 666 20 CONTINUE C C QUELLES CORESPONDANCE ENTRE LES SOUS PAQUETS DES CHPOINTS C DO 100 IA=1,NS1 MSOUP1=MCHPO1.IPCHP(IA) SEGACT MSOUP1 IGEO1=MSOUP1.IGEOC SEGDES MSOUP1 DO 110 IB=1,NS2 MSOUP2=MCHPO2.IPCHP(IB) SEGACT MSOUP2 IGEO2=MSOUP2.IGEOC IBB =MSOUP2.IPOVAL SEGDES MSOUP2 IF(IGEO1.EQ.IGEO2) GOTO 120 110 CONTINUE C C MESSAGE D ERREUR C IRET=0 GOTO 666 120 CONTINUE ITR(IA)=IBB 100 CONTINUE C C BOUCLE SUR LES SOUS PAQUETS EN COMMUN C DO 200 IA=1,NS1 MSOUP1=MCHPO1.IPCHP(IA) SEGACT MSOUP1 MPOVA1=MSOUP1.IPOVAL SEGDES MSOUP1 IBB=ITR(IA) MPOVA2= IBB C SEGACT MPOVA1,MPOVA2 N1 =MPOVA1.VPOCHA(/1) NC1 =MPOVA1.VPOCHA(/2) N2 =MPOVA2.VPOCHA(/1) NC2 =MPOVA2.VPOCHA(/2) C C VERIFICATION TAILLE DES CHPOINTS C IF(N1.NE.N2) GOTO 444 IF(NC1.NE.NC2) GOTO 444 GOTO 330 C C ERREUR TAILLE CHPOINTS C 444 CONTINUE MOTERR(1:8)='XTX3' IRET=0 SEGDES MPOVA1,MPOVA2 GOTO 666 C 330 CONTINUE DO 300 IB=1,N1 DO 400 IC=1,NC1 XXT1=MPOVA1.VPOCHA(IB,IC) XXT2=MPOVA2.VPOCHA(IB,IC) XX = FLO1*XXT1+FLO2*FLO2 XDRET = XDRET + XX*XX 400 CONTINUE 300 CONTINUE SEGDES MPOVA1,MPOVA2 200 CONTINUE C 666 CONTINUE SEGDES MCHPO1,MCHPO2 RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales