Télécharger maslis.eso

Retour à la liste

Numérotation des lignes :

  1. C MASLIS SOURCE PV 20/04/28 21:15:13 10593
  2. SUBROUTINE MASLIS(CTYP,IPOI,ICLE,X1,I1,X2,I2,IRET,ISOM)
  3. IMPLICIT INTEGER(I-N)
  4. -INC SMLREEL
  5. -INC SMLENTI
  6. CHARACTER*(*) CTYP
  7. REAL*8 X1,X2
  8. *
  9. * TRAITEMENT D'UN LISTREEL
  10. * ========================
  11. *
  12. IF (CTYP.EQ.'LISTREEL') THEN
  13. MLREE1=IPOI
  14. SEGINI,MLREEL=MLREE1
  15. IRET=MLREEL
  16. *
  17. * MOT-CLE "SUPE"
  18. IF (ICLE.EQ.1) THEN
  19. DO 1 I=1,PROG(/1)
  20. IF (PROG(I).GT.X1) THEN
  21. PROG(I)=1
  22. ELSE
  23. PROG(I)=0
  24. ENDIF
  25. 1 CONTINUE
  26. *
  27. * MOT-CLE "EGSU"
  28. ELSEIF (ICLE.EQ.2) THEN
  29. DO 2 I=1,PROG(/1)
  30. IF (PROG(I).GE.X1) THEN
  31. PROG(I)=1
  32. ELSE
  33. PROG(I)=0
  34. ENDIF
  35. 2 CONTINUE
  36. *
  37. * MOT-CLE "EGAL"
  38. ELSEIF (ICLE.EQ.3) THEN
  39. DO 3 I=1,PROG(/1)
  40. IF (PROG(I).EQ.X1) THEN
  41. PROG(I)=1
  42. ELSE
  43. PROG(I)=0
  44. ENDIF
  45. 3 CONTINUE
  46. *
  47. * MOT-CLE "EGIN"
  48. ELSEIF (ICLE.EQ.4) THEN
  49. DO 4 I=1,PROG(/1)
  50. IF (PROG(I).LE.X1) THEN
  51. PROG(I)=1
  52. ELSE
  53. PROG(I)=0
  54. ENDIF
  55. 4 CONTINUE
  56. *
  57. * MOT-CLE "INFE"
  58. ELSEIF (ICLE.EQ.5) THEN
  59. DO 5 I=1,PROG(/1)
  60. IF (PROG(I).LT.X1) THEN
  61. PROG(I)=1
  62. ELSE
  63. PROG(I)=0
  64. ENDIF
  65. 5 CONTINUE
  66. *
  67. * MOT-CLE "DIFF"
  68. ELSEIF (ICLE.EQ.6) THEN
  69. DO 6 I=1,PROG(/1)
  70. IF (PROG(I).NE.X1) THEN
  71. PROG(I)=1
  72. ELSE
  73. PROG(I)=0
  74. ENDIF
  75. 6 CONTINUE
  76. *
  77. * MOT-CLE "COMP"
  78. ELSEIF (ICLE.EQ.7) THEN
  79. DO 7 I=1,PROG(/1)
  80. IF (PROG(I).GE.X1.AND.PROG(I).LE.X2) THEN
  81. PROG(I)=1
  82. ELSE
  83. PROG(I)=0
  84. ENDIF
  85. 7 CONTINUE
  86. ENDIF
  87. *
  88. * ******************************
  89. *
  90. * DEUXIEME MOT-CLE "SOMM"
  91. IF (ISOM.EQ.1) THEN
  92. IRET=0
  93. DO 8 I=1,PROG(/1)
  94. IF (PROG(I).GT.0) IRET=IRET+1
  95. 8 CONTINUE
  96. ENDIF
  97. *
  98. *
  99. * TRAITEMENT D'UN LISTENTI
  100. * ========================
  101. *
  102. ELSEIF (CTYP.EQ.'LISTENTI') THEN
  103. MLENT1=IPOI
  104. SEGINI,MLENTI=MLENT1
  105. IRET=MLENTI
  106. *
  107. * MOT-CLE "SUPE"
  108. IF (ICLE.EQ.1) THEN
  109. DO 11 I=1,LECT(/1)
  110. IF (LECT(I).GT.I1) THEN
  111. LECT(I)=1
  112. ELSE
  113. LECT(I)=0
  114. ENDIF
  115. 11 CONTINUE
  116. *
  117. * MOT-CLE "EGSU"
  118. ELSEIF (ICLE.EQ.2) THEN
  119. DO 12 I=1,LECT(/1)
  120. IF (LECT(I).GE.I1) THEN
  121. LECT(I)=1
  122. ELSE
  123. LECT(I)=0
  124. ENDIF
  125. 12 CONTINUE
  126. *
  127. * MOT-CLE "EGAL"
  128. ELSEIF (ICLE.EQ.3) THEN
  129. DO 13 I=1,LECT(/1)
  130. IF (LECT(I).EQ.I1) THEN
  131. LECT(I)=1
  132. ELSE
  133. LECT(I)=0
  134. ENDIF
  135. 13 CONTINUE
  136. *
  137. * MOT-CLE "EGIN"
  138. ELSEIF (ICLE.EQ.4) THEN
  139. DO 14 I=1,LECT(/1)
  140. IF (LECT(I).LE.I1) THEN
  141. LECT(I)=1
  142. ELSE
  143. LECT(I)=0
  144. ENDIF
  145. 14 CONTINUE
  146. *
  147. * MOT-CLE "INFE"
  148. ELSEIF (ICLE.EQ.5) THEN
  149. DO 15 I=1,LECT(/1)
  150. IF (LECT(I).LT.I1) THEN
  151. LECT(I)=1
  152. ELSE
  153. LECT(I)=0
  154. ENDIF
  155. 15 CONTINUE
  156. *
  157. * MOT-CLE "DIFF"
  158. ELSEIF (ICLE.EQ.6) THEN
  159. DO 16 I=1,LECT(/1)
  160. IF (LECT(I).NE.I1) THEN
  161. LECT(I)=1
  162. ELSE
  163. LECT(I)=0
  164. ENDIF
  165. 16 CONTINUE
  166. *
  167. * MOT-CLE "COMP"
  168. ELSEIF (ICLE.EQ.7) THEN
  169. DO 17 I=1,LECT(/1)
  170. IF (LECT(I).GE.I1.AND.LECT(I).LE.I2) THEN
  171. LECT(I)=1
  172. ELSE
  173. LECT(I)=0
  174. ENDIF
  175. 17 CONTINUE
  176. ENDIF
  177. *
  178. * ******************************
  179. *
  180. * DEUXIEME MOT-CLE "SOMM"
  181. IF (ISOM.EQ.1) THEN
  182. IRET=0
  183. DO 18 I=1,LECT(/1)
  184. IF (LECT(I).GT.0) IRET=IRET+1
  185. 18 CONTINUE
  186. ENDIF
  187. ENDIF
  188. END
  189.  
  190.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales