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