Télécharger maslis.eso

Retour à la liste

Numérotation des lignes :

  1. C MASLIS SOURCE JC220346 16/12/14 21:15:29 9262
  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. SEGDES MLREEL,MLREE1
  98. *
  99. *
  100. * TRAITEMENT D'UN LISTENTI
  101. * ========================
  102. *
  103. ELSEIF (CTYP.EQ.'LISTENTI') THEN
  104. MLENT1=IPOI
  105. SEGINI,MLENTI=MLENT1
  106. IRET=MLENTI
  107. *
  108. * MOT-CLE "SUPE"
  109. IF (ICLE.EQ.1) THEN
  110. DO 11 I=1,LECT(/1)
  111. IF (LECT(I).GT.I1) THEN
  112. LECT(I)=1
  113. ELSE
  114. LECT(I)=0
  115. ENDIF
  116. 11 CONTINUE
  117. *
  118. * MOT-CLE "EGSU"
  119. ELSEIF (ICLE.EQ.2) THEN
  120. DO 12 I=1,LECT(/1)
  121. IF (LECT(I).GE.I1) THEN
  122. LECT(I)=1
  123. ELSE
  124. LECT(I)=0
  125. ENDIF
  126. 12 CONTINUE
  127. *
  128. * MOT-CLE "EGAL"
  129. ELSEIF (ICLE.EQ.3) THEN
  130. DO 13 I=1,LECT(/1)
  131. IF (LECT(I).EQ.I1) THEN
  132. LECT(I)=1
  133. ELSE
  134. LECT(I)=0
  135. ENDIF
  136. 13 CONTINUE
  137. *
  138. * MOT-CLE "EGIN"
  139. ELSEIF (ICLE.EQ.4) THEN
  140. DO 14 I=1,LECT(/1)
  141. IF (LECT(I).LE.I1) THEN
  142. LECT(I)=1
  143. ELSE
  144. LECT(I)=0
  145. ENDIF
  146. 14 CONTINUE
  147. *
  148. * MOT-CLE "INFE"
  149. ELSEIF (ICLE.EQ.5) THEN
  150. DO 15 I=1,LECT(/1)
  151. IF (LECT(I).LT.I1) THEN
  152. LECT(I)=1
  153. ELSE
  154. LECT(I)=0
  155. ENDIF
  156. 15 CONTINUE
  157. *
  158. * MOT-CLE "DIFF"
  159. ELSEIF (ICLE.EQ.6) THEN
  160. DO 16 I=1,LECT(/1)
  161. IF (LECT(I).NE.I1) THEN
  162. LECT(I)=1
  163. ELSE
  164. LECT(I)=0
  165. ENDIF
  166. 16 CONTINUE
  167. *
  168. * MOT-CLE "COMP"
  169. ELSEIF (ICLE.EQ.7) THEN
  170. DO 17 I=1,LECT(/1)
  171. IF (LECT(I).GE.I1.AND.LECT(I).LE.I2) THEN
  172. LECT(I)=1
  173. ELSE
  174. LECT(I)=0
  175. ENDIF
  176. 17 CONTINUE
  177. ENDIF
  178. *
  179. * ******************************
  180. *
  181. * DEUXIEME MOT-CLE "SOMM"
  182. IF (ISOM.EQ.1) THEN
  183. IRET=0
  184. DO 18 I=1,LECT(/1)
  185. IF (LECT(I).GT.0) IRET=IRET+1
  186. 18 CONTINUE
  187. ENDIF
  188. SEGDES MLENTI,MLENT1
  189. ENDIF
  190. *
  191. RETURN
  192. END
  193.  
  194.  
  195.  

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