mslis1
C MSLIS1 SOURCE PV 20/04/28 21:15:18 10593 * IKO = 0 => 1 ou 2 LISTxxxx * IKO = 1 => 1 nombre puis 1 LISTxxxx * IKO = -1 => 1 LISTxxxx puis 1 nombre IMPLICIT INTEGER(I-N) -INC SMLREEL -INC SMLENTI CHARACTER*(*) CTYP REAL*8 X1 * IKOK=IKO IF (IKOK.EQ.0.AND.IPOI3.LE.0) IKOK=-1 * * TRAITEMENT D'UN LISTREEL * ======================== * IF (CTYP.EQ.'LISTREEL') THEN MLREE1=IPOI1 MLREE2=IPOI2 RETURN ENDIF IF (IKOK.EQ.0) THEN MLREE3=IPOI3 RETURN ENDIF ENDIF SEGINI,MLREEL=MLREE1 IRET=MLREEL * * MOT-CLE "SUPE" IF (ICLE.EQ.1) THEN ELSE ENDIF 1 CONTINUE * * MOT-CLE "EGSU" ELSEIF (ICLE.EQ.2) THEN ELSE ENDIF 2 CONTINUE * * MOT-CLE "EGAL" ELSEIF (ICLE.EQ.3) THEN ELSE ENDIF 3 CONTINUE * * MOT-CLE "EGIN" ELSEIF (ICLE.EQ.4) THEN ELSE ENDIF 4 CONTINUE * * MOT-CLE "INFE" ELSEIF (ICLE.EQ.5) THEN ELSE ENDIF 5 CONTINUE * * MOT-CLE "DIFF" ELSEIF (ICLE.EQ.6) THEN ELSE ENDIF 6 CONTINUE * * MOT-CLE "COMP" ELSEIF (ICLE.EQ.7) THEN IF (IKOK.EQ.0) THEN ELSE ENDIF 71 CONTINUE ELSEIF (IKOK.GT.0) THEN ELSE ENDIF 72 CONTINUE ELSE ELSE ENDIF 73 CONTINUE ENDIF ENDIF * * ****************************** * * DEUXIEME MOT-CLE "SOMM" IF (ISOM.EQ.1) THEN IRET=0 7 CONTINUE ENDIF * * * TRAITEMENT D'UN LISTENTI * ======================== * ELSEIF (CTYP.EQ.'LISTENTI') THEN MLENT1=IPOI1 MLENT2=IPOI2 IF (MLENT1.LECT(/1).NE.MLENT2.LECT(/1)) THEN RETURN ENDIF IF (IKOK.EQ.0) THEN MLENT3=IPOI3 IF (MLENT1.LECT(/1).NE.MLENT3.LECT(/1)) THEN RETURN ENDIF ENDIF SEGINI,MLENTI=MLENT1 IRET=MLENTI * * MOT-CLE "SUPE" IF (ICLE.EQ.1) THEN DO 11 I=1,LECT(/1) IF (MLENT1.LECT(I).GT.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 11 CONTINUE * * MOT-CLE "EGSU" ELSEIF (ICLE.EQ.2) THEN DO 12 I=1,LECT(/1) IF (MLENT1.LECT(I).GE.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 12 CONTINUE * * MOT-CLE "EGAL" ELSEIF (ICLE.EQ.3) THEN DO 13 I=1,LECT(/1) IF (MLENT1.LECT(I).EQ.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 13 CONTINUE * * MOT-CLE "EGIN" ELSEIF (ICLE.EQ.4) THEN DO 14 I=1,LECT(/1) IF (MLENT1.LECT(I).LE.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 14 CONTINUE * * MOT-CLE "INFE" ELSEIF (ICLE.EQ.5) THEN DO 15 I=1,LECT(/1) IF (MLENT1.LECT(I).LT.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 15 CONTINUE * * MOT-CLE "DIFF" ELSEIF (ICLE.EQ.6) THEN DO 16 I=1,LECT(/1) IF (MLENT1.LECT(I).NE.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 16 CONTINUE * * MOT-CLE "COMP" ELSEIF (ICLE.EQ.7) THEN IF (IKOK.EQ.0) THEN DO 171 I=1,LECT(/1) IF (MLENT1.LECT(I).GE.MLENT2.LECT(I).AND. & MLENT1.LECT(I).LE.MLENT3.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 171 CONTINUE ELSEIF (IKOK.GT.0) THEN DO 172 I=1,LECT(/1) IF (MLENT1.LECT(I).GE.I1.AND. & MLENT1.LECT(I).LT.MLENT2.LECT(I)) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 172 CONTINUE ELSE DO 173 I=1,LECT(/1) IF (MLENT1.LECT(I).GE.MLENT2.LECT(I).AND. & MLENT1.LECT(I).LT.I1) THEN LECT(I)=1 ELSE LECT(I)=0 ENDIF 173 CONTINUE ENDIF ENDIF * * ****************************** * * DEUXIEME MOT-CLE "SOMM" IF (ISOM.EQ.1) THEN IRET=0 DO 17 I=1,LECT(/1) IF (LECT(I).GT.0) IRET=IRET+1 17 CONTINUE ENDIF ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales