Télécharger histog.eso

Retour à la liste

Numérotation des lignes :

histog
  1. C HISTOG SOURCE CB215821 24/04/12 21:16:14 11897
  2. SUBROUTINE HISTOG
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5.  
  6. C----------------------------------------------------------------------C
  7. C C
  8. C SUBROUTINE DE L'OPERATEUR "HIST" : C
  9. C C
  10. C----------------------------------------------------------------------C
  11. C
  12. C SYNTAXE 1 :
  13. C
  14. C LENT1 LENT2 = HIST LVAL1 LCLAS1 (LVAL2 LCLAS2 ( ... )) ...
  15. C ... ('CLAS' 'OCCU') ;
  16. C OBJET :
  17. C
  18. C Etant donne :
  19. C - les N evenements definis par les m-uplets {X1 X2 ... Xm}
  20. C fournis sous la forme de m LISTREELS : LVAL1, ... LVALm
  21. C - les classes correspondantes LCLAS1 (de dime N1+1), ...
  22. C LCLASm (de dime Nm+1) de type LISTREEL egalement,
  23. C L'operateur 'HIST' renvoie le LISTENTI correspondant :
  24. C - a la classe de chaque evenement (option 'CLAS') --> LENT1
  25. C - au nombre d'occurences des evenements dans chacune des
  26. C classes (option 'OCCU') --> LENT2
  27. C Par defaut (aucune option), on renvoie les 2 LISTENTI.
  28. C
  29. C REMARQUE :
  30. C
  31. C On numerote de maniere globale les classes de telle sorte que
  32. C la k^eme classe (numero global) renvoie aux classes k1, k2 ...
  33. C avec : k = k1 + N1*(k2-1) + N1*N2*(k3-1) + ...
  34. C
  35. C EXEMPLE :
  36. C
  37. C Soit la suite de 4 evenements :
  38. C {0.2 4} {0.1 14} {0.5 10} {0.4 1}
  39. C definie par :
  40. C x1 = prog 0.2 0.1 1.1 0.5 0.4 ;
  41. C x2 = prog 4.0 14.0 9.0 10.0 1.0 ;
  42. C et les classes associees :
  43. C y1 = prog 0. 0.5 1. ;
  44. C y2 = prog 0. 5. 10. 15. 20.;
  45. C
  46. C la numerotation globale des classes est :
  47. C 0 0.5 1.0
  48. C 0 +-------+-------+----->y1
  49. C | 1 | 2 |
  50. C 5 +-------+-------+
  51. C | 3 | 4 |
  52. C 10 +-------+-------+
  53. C | 5 | 6 |
  54. C 15 +-------+-------+
  55. C | 7 | 8 |
  56. C 20 +-------+-------+
  57. C |
  58. C y2 v
  59. C
  60. C lclass loccu = HIST x1 y1 x2 y2 'CLAS' 'OCCU';
  61. C --> lclass contient la suite de 5 entiers :
  62. C 1 5 6 1
  63. C --> loccu contient la suite de 8 entiers :
  64. C 2 0 0 0 1 1 0 0
  65. C
  66. C----------------------------------------------------------------------C
  67. C C
  68. C SYNTAXE 2 : C
  69. C C
  70. C EV2 = HIST (COUL) MOD1 CHAM1 (ABS) LRE1 |(MOT1 )| ; C
  71. C |(LMOT1)| C
  72. C C
  73. C OBJET : C
  74. C L'OPERATEUR 'HIST' RENVOIE UNE EVOLUTION DE TYPE HISTOGRAMME C
  75. C REPRESENTANT LA DENSITE DE DISTRIBUTION DES VALEURS D'UN C
  76. C MCHAML SUR UN MAILLAGE. C
  77. C C
  78. C PRINCIPE : C
  79. C C
  80. C LES INTERVALLES D'ECHANTILLONNAGE DE LA DENSITE DE DISTRIBUTION C
  81. C SONT FOURNIS PAR LE 'LISTREEL' LRE1. DANS LE CAS OU CES INTERVAL-C
  82. C LES NE SONT CONSTANTS, ON REALISE UN HACHAGE EN INTERVALLES REGU-C
  83. C -LIERS DE TAILLE INFERIEURE AU + PETIT INTERVALLE DE LRE1. POUR C
  84. C CHAQUE INTERVALLE, ON MESURE LA LONGUEUR, LA SURFACE OU LE VOLU- C
  85. C -ME DU MAILLAGE ASSOCIE AUX POINTS SUPPORTS DU CHAMP DONT LA VA- C
  86. C -LEUR EST DANS L'INTERVALLE. CETTE MESURE EST DONNEE PAR LE PRO- C
  87. C -DUIT DU POIDS DE GAUSS DU POINT CONSIDERE AVEC LA VALEUR DU JA- C
  88. C -COBIEN EN CE POINT. C
  89. C C
  90. C REMARQUE : C
  91. C C
  92. C UN CHAMP EXPRIME AU NOEUDS EST INTERPOLE AUX POINTS SUPPORTS DES C
  93. C RIGIDITES. POUR LES AUTRES POINTS SUPPORTS, C'EST LE JACOBIEN C
  94. C QUI EST INTERPOLE AUX POINT SUPPORTS DU CHAMP. C
  95. C C
  96. C DESCRIPTION DES VARIABLES D'INTERET DU PROGRAMME : C
  97. C C
  98. C IPMOD1 : POINTEUR SUR MMODEL C
  99. C IPCHE1 : POINTEUR SUR CHAM1 C
  100. C MLREE1 : LISTREEL DES INTERVALLES DE MESURE C
  101. C MLREE2 : ORDONNEES DE LA DENSITE DE DISTRIBUTION C
  102. C LMOT1 : LISTMOTS CONTENANT LE OU LES NOMS DES COMPOSANTES DE C
  103. C CHAM1 A TRAITER C
  104. C N1 : NOMBRE D'INTERVALLES DE MLREE1 C
  105. C X1,X2 : BORNES INF ET SUP DES INTERVALLES D'ECHANTILLONNAGE C
  106. C XPASH : PAS DU HACHAGE C
  107. C NH : NOMBRE D'INTERVALLES DU HACHAGE C
  108. C XINDIC : SEGMENT CONTENANT LES RELATIONS ENTRE LES INTERVALLES C
  109. C DE MLREE1 ET DU HACHAGE
  110. C IPCHE2 : POINTEUR SUR MCHAML DU JACOBIEN ASSOCIE AU MAILLAGE. C
  111. C OBTENU PAR APPEL A JACOPO C
  112. C TZC1 : TABLEAU D'ENTIER, DE DIMENSION LE NOMBRE DE SOUS-ZONE C
  113. C DE CHAM1 x NOMBRE DE COMPOSANTES A TRAITER. CONTIENT C
  114. C LES POINTEURS SUR LES LISTREELS RELATIFS AUX DISTRI- C
  115. C -BUTIONS POUR CHAQUE SOUS-ZONE ET CHAQUE COMPOSANTE C
  116. C NCP2 : NOMBRE DE COMPOSANTES EFFECTIVEMENT TRAITEES C
  117. C LMOT2 : LISTMOTS, NOMS DES COMPOSANTES EFFECTIVEMENT TRAITEES C
  118. C CERTAINS NOMS DE COMPOSANTES SPECIFIES DANS LISMOT1 C
  119. C PEUVENT NE PAS EXISTER DANS CHAM1 C
  120. C MLENT1 : LISTE D'ENTIER DONNANT LES CORRESPONDANCES ENTRE LA C
  121. C Ie COMPOSANTE DU CHAMP ET LA Je COMPOSANTE A TRAITER C
  122. C MLNORM : LISTREEL : MESURE DE LA SOUS-ZONE ASSOCIEE A LA Je C
  123. C COMPOSANTE A TRAITER C
  124. C C
  125. C----------------------------------------------------------------------C
  126.  
  127. -INC PPARAM
  128. -INC CCOPTIO
  129. -INC CCGEOME
  130. -INC SMELEME
  131. -INC SMCHAML
  132. -INC SMMODEL
  133. -INC SMLMOTS
  134. -INC SMLENTI
  135. -INC SMLREEL
  136. -INC SMEVOLL
  137. -INC SMINTE
  138. C C
  139. C---------------------------- DECLARATIONS ----------------------------C
  140. C C
  141. CHARACTER*4 MOTCLE(1)
  142. CHARACTER*(LOCOMP) MCOMPJ,MCOMP
  143. MOTCLE(1)='ABS '
  144. C C
  145. SEGMENT XINDIC
  146. INTEGER IIND1(IND1,2)
  147. REAL*8 XIND1(IND1)
  148. ENDSEGMENT
  149. SEGMENT TZC
  150. INTEGER ITZC1(NZ,NC)
  151. ENDSEGMENT
  152. C
  153. POINTEUR MLNORM.MLREEL
  154.  
  155. C=======================================================================
  156. C SYNTAXE 2 PAR DEFAUT
  157. C=======================================================================
  158. C C
  159. C----------------------- ACQUISITION DES ENTREES ----------------------C
  160. C C
  161. C LECTURE OPTIONNELLE DE LA COULEUR :
  162. CALL LIRMOT(NCOUL,NBCOUL,ICOUL,0)
  163. IF (ICOUL.EQ.0) ICOUL=IDCOUL+1
  164. ICOUL=ICOUL-1
  165. C C
  166. C LECTURE DU MODELE (OBLIGATOIRE pour la syntaxe 2):
  167. MOTERR(1:8)=' MODELE '
  168. CALL MESLIR(-137)
  169. CALL LIROBJ('MMODEL ',IPMOD1,0,IRET)
  170. IF(IERR.NE.0) RETURN
  171. IF(IRET.EQ.0) GOTO 100
  172. c ==> PAS DE MODELE, ON TENTE LA SYNTAXE 1
  173.  
  174. CALL ACTOBJ('MMODEL ',IPMOD1,1)
  175. C C
  176. C LECTURE OBLIGATOIRE DU CHAMP :
  177. MOTERR(1:8)=' MCHAML '
  178. CALL MESLIR(-137)
  179. CALL LIROBJ('MCHAML',IPCHE1,1,IRET)
  180. CALL ACTOBJ('MCHAML',IPCHE1,1)
  181. IF (IERR.NE.0) RETURN
  182. C REDUCTION IPCHE1 SUR IPMOD1
  183. CALL REDUAF(IPCHE1,IPMOD1,IPCHE2,0,IRET,KERRE)
  184. IF (IRET.NE.1) THEN
  185. CALL ERREUR(KERRE)
  186. RETURN
  187. ENDIF
  188. IPCHE1=IPCHE2
  189. C VERIFICATION QUE LES SOUS-ZONES ONT TOUTES MEME SUPPORT
  190. CALL QUESUP(IPMOD1,IPCHE1,0,0,IRET,ISUP1)
  191. IF (ISUP1.EQ.9999) THEN
  192. CALL ERREUR(560)
  193. RETURN
  194. ENDIF
  195. C C
  196. C LECTURE OPTIONNELLE DU MOT-CLE "ABS" :
  197. CALL LIRMOT(MOTCLE,1,IABS,0)
  198. C C
  199. C LECTURE OBLIGATOIRE DU LISTREEL (MLREE1 = INTERVALLES DE MESURE) :
  200. MOTERR(1:8)='LISTREEL'
  201. CALL MESLIR(-137)
  202. CALL LIROBJ('LISTREEL',MLREE1,1,IRET)
  203. IF (IERR.NE.0) RETURN
  204. SEGACT,MLREE1
  205. N1=MLREE1.PROG(/1)
  206. IF (N1.LE.1) THEN
  207. CALL ERREUR(249)
  208. RETURN
  209. ENDIF
  210. X1=MLREE1.PROG(1)
  211. X2=MLREE1.PROG(2)
  212. IF (X1.GE.X2) THEN
  213. CALL ERREUR(249)
  214. RETURN
  215. ENDIF
  216. C CONSTRUCTION D'UN HACHAGE DANS LE CAS OU LONG. INTERV. PAS CONST.:
  217. C 1. RECHERCHE DU + PETIT PAS DANS LISTREEL FOURNI (XPAS)
  218. JG=N1-1
  219. SEGINI,MLREE3
  220. XPAS=X2-X1
  221. MLREE3.PROG(1)=XPAS
  222. DO IH=3,N1
  223. X1=X2
  224. X2=MLREE1.PROG(IH)
  225. XPASI=X2-X1
  226. MLREE3.PROG(IH-1)=XPASI
  227. IF (XPAS.GT.XPASI) XPAS=XPASI
  228. ENDDO
  229. IF (XPAS.LE.0.) THEN
  230. CALL ERREUR(249)
  231. RETURN
  232. ENDIF
  233. C 2. CONSTRUCTION DU HACHAGE (INTERVALLES REGULIERS DE TAILLE
  234. C INFERIEURE AU + PETIT INTERVALLE DE MLREE1)
  235. C XINDIC PERMET D'ASSOCIER LES INTERVALLES DE MLREE1 AU HACHAGE :
  236. C IIND1(I,1)=0 : Ie INTERV. HACHAGE A CHEVAL SUR 2 INTERV. MLREE1
  237. C IIND1(I,1)=1 : Ie INTERV. HACHAGE STRICT. DANS 1 INTERV. MLREE1
  238. C IIND1(I,2)=K : Ie INTERV. HACHAGE ASSOCIE A Ke INTERV. MLREE1
  239. C XIND1(I)= BORNE DES 2 INTERV. MLREE1 DANS Ie INTERV. HACHAGE
  240. C (CAS OU IIND1(I,1)=0)
  241. X1=MLREE1.PROG(1)
  242. NH=INT((X2-X1)/XPAS)+1
  243. IND1=NH
  244. SEGINI,XINDIC
  245. IREF=1
  246. IIND1(1,1)=1
  247. IIND1(1,2)=IREF
  248. XPASH=(X2-X1)/FLOAT(NH)
  249. XREH=X1+XPASH
  250. DO IIND=2,NH
  251. XREF=MLREE1.PROG(IREF+1)
  252. XREH=XREH+XPASH
  253. IIND1(IIND,2)=IREF
  254. XIND1(IIND)=XREF
  255. IF(XREH.GT.XREF) THEN
  256. IIND1(IIND,1)=0
  257. IREF=IREF+1
  258. IF (IREF.GT.N1) THEN
  259. c write(6,*) 'IREF > N1 !!'
  260. RETURN
  261. ENDIF
  262. ELSE
  263. IIND1(IIND,1)=1
  264. ENDIF
  265. ENDDO
  266. C C
  267. C LECTURE OPTIONNELLE DU(DES) NOM(S) DE LA COMPOSANTE A TRAITER :
  268. NCP1=0
  269. C DONNEE D'UN MOT ?
  270. CALL LIRCHA(MCOMP,0,IMOT)
  271. IF (IMOT.NE.0) THEN
  272. NCP1=1
  273. JGM=NCP1
  274. JGN=LOCOMP
  275. SEGINI,MLMOT1
  276. MLMOT1.MOTS(1)=MCOMP(1:IMOT)
  277. ELSE
  278. C SINON, DONNEE D'UN LISTMOTS ?
  279. CALL LIROBJ('LISTMOTS',MLMOT1,0,IRET)
  280. IF (IRET.NE.0) THEN
  281. SEGACT,MLMOT1
  282. NCP1=MLMOT1.MOTS(/2)
  283. ELSE
  284. C SINON, TOUTES LES COMPOSANTES DU CHAMP EN ENTREE :
  285. C (ATTENTION : IL FAUT PARCOURIR TOUTES LES SOUS-ZONES...)
  286. IMOT=1
  287. MCHEL1=IPCHE1
  288. NZ1=MCHEL1.ICHAML(/1)
  289. MCHAM1=MCHEL1.ICHAML(1)
  290. C INITIALISATION MLMOTS SUR 1ERE SOUS-ZONE :
  291. JGN=LOCOMP
  292. JGM=MCHAM1.NOMCHE(/2)
  293. SEGINI,MLMOT1
  294. NCP1=JGM
  295. DO I=1,NCP1
  296. MLMOT1.MOTS(I)=MCHAM1.NOMCHE(I)
  297. ENDDO
  298. C VERIF. NOMS COMPOSANTES SUR LES AUTRES SOUS-ZONES
  299. DO I=2,NZ1
  300. MCHAM1=MCHEL1.ICHAML(I)
  301. DO J=1,MCHAM1.NOMCHE(/2)
  302. MCOMPJ=MCHAM1.NOMCHE(J)
  303. CALL PLACE(MLMOT1.MOTS,NCP1,IPLA,MCOMPJ)
  304. IF (IPLA.EQ.0) THEN
  305. JGM=NCP1+1
  306. SEGADJ,MLMOT1
  307. NCP1=NCP1+1
  308. MLMOT1.MOTS(NCP1)=MCOMPJ
  309. ENDIF
  310. ENDDO
  311. ENDDO
  312. ENDIF
  313. ENDIF
  314. C C
  315. C----------------------------- TRAITEMENT -----------------------------C
  316. C C
  317. C JACOBIEN ASSOCIE AU MODELE :
  318. C CALCUL DU JACOBIEN :
  319. CALL JACOPO(IPMOD1,IPCHE2,IRET)
  320. IF (IRET.EQ.0) RETURN
  321. MMODEL=IPMOD1
  322. IMODEL=KMODEL(1)
  323. C
  324. C AJUSTEMENT DES POINTS SUPPORTS :
  325. C ISUP1 = VALEUR INDICATEUR POINTS SUPPORTS IPCHE1
  326. C ISUP2 = VALEUR INDICATEUR POINTS SUPPORTS IPCHE2 (JACOBIEN)
  327. IF (ISUP1.EQ.1) THEN
  328. CALL CHASUP(IPMOD1,IPCHE1,IPCHE3,IRET,5)
  329. IF (IRET.NE.0) THEN
  330. CALL ERREUR(IRET)
  331. RETURN
  332. ENDIF
  333. IPCHE1=IPCHE3
  334. ELSEIF (ISUP1.NE.5) THEN
  335. CALL CHASUP(IPMOD1,IPCHE2,IPCHE3,IRET,ISUP1)
  336. IF (IRET.NE.0) THEN
  337. CALL ERREUR(IRET)
  338. RETURN
  339. ENDIF
  340. IPCHE2=IPCHE3
  341. ENDIF
  342. C
  343. C ECHANTILLONNAGE :
  344. NCP2=0
  345. MCHEL1=IPCHE1
  346. MCHEL2=IPCHE2
  347. NZ1=MCHEL1.ICHAML(/1)
  348. NZ=NZ1
  349. NC=NCP1
  350. SEGINI,TZC
  351. JGN=LOCOMP
  352. JGM=NCP1
  353. SEGINI,MLMOT2
  354. JG=NCP1
  355. SEGINI,MLNORM
  356. SEGINI,MLENT1
  357. DO I=1,NZ1
  358. MCHAM1=MCHEL1.ICHAML(I)
  359. IPT1=MCHEL1.IMACHE(I)
  360. ICOMP=MCHAM1.NOMCHE(/2)
  361. MINTE2=MCHEL2.INFCHE(I,4)
  362. MCHAM2=MCHEL2.ICHAML(I)
  363. MELVA2=MCHAM2.IELVAL(1)
  364. DO J=1,ICOMP
  365. MCOMPJ=MCHAM1.NOMCHE(J)
  366. CALL PLACE(MLMOT1.MOTS,NCP1,IPLA,MCOMPJ)
  367. IF (IPLA.NE.0) THEN
  368. IF (MCHAM1.TYPCHE(J).NE.'REAL*8') THEN
  369. MOTERR(1:4)='HIST'
  370. MOTERR(5:8)=MCOMPJ(1:4)
  371. CALL ERREUR(335)
  372. RETURN
  373. ENDIF
  374. JREF=IPLA
  375. IPLA=0
  376. IF (NCP2.NE.0) CALL PLACE(MLMOT2.MOTS,NCP2,IPLA,MCOMPJ)
  377. IF (IPLA.EQ.0) THEN
  378. NCP2=NCP2+1
  379. MLMOT2.MOTS(NCP2)=MCOMPJ
  380. MLENT1.LECT(JREF)=NCP2
  381. ENDIF
  382. JG=N1
  383. SEGINI,MLREE2
  384. ITZC1(I,JREF)=MLREE2
  385. MELVA1=MCHAM1.IELVAL(J)
  386. NP1=MELVA1.VELCHE(/1)
  387. NE1=MELVA1.VELCHE(/2)
  388. NP2=MELVA2.VELCHE(/1)
  389. NE2=MELVA2.VELCHE(/2)
  390. DO K=1,IPT1.NUM(/2)
  391. DO L=1,MINTE2.POIGAU(/1)
  392. VIJKL2=MINTE2.POIGAU(L)*
  393. & (ABS(MELVA2.VELCHE(MIN(NP2,L),MIN(NE2,K))))
  394. XIJKL1=MELVA1.VELCHE(MIN(NP1,L),MIN(NE1,K))
  395. IF (IABS.EQ.1) XIJKL1=ABS(XIJKL1)
  396. NIJKL1=INT((XIJKL1-X1)/XPASH)+1
  397. IF (NIJKL1.GE.1.AND.NIJKL1.LE.NH.AND.XIJKL1.GE.X1) THEN
  398. IIJKL1=IIND1(NIJKL1,2)
  399. IF (IIND1(NIJKL1,1).EQ.1) THEN
  400. XIJKL2=VIJKL2/MLREE3.PROG(IIJKL1)
  401. MLREE2.PROG(IIJKL1)=MLREE2.PROG(IIJKL1)+XIJKL2
  402. ELSE
  403. IF (XIJKL1.LT.XIND1(NIJKL1)) THEN
  404. XIJKL2=VIJKL2/MLREE3.PROG(IIJKL1)
  405. MLREE2.PROG(IIJKL1)=MLREE2.PROG(IIJKL1)+XIJKL2
  406. ELSE
  407. XIJKL2=VIJKL2/MLREE3.PROG(IIJKL1+1)
  408. MLREE2.PROG(IIJKL1+1)=MLREE2.PROG(IIJKL1+1)+XIJKL2
  409. ENDIF
  410. ENDIF
  411. ENDIF
  412. MLNORM.PROG(JREF)=MLNORM.PROG(JREF)+VIJKL2
  413. ENDDO
  414. ENDDO
  415. ENDIF
  416. ENDDO
  417. ENDDO
  418. C
  419. C VERIFICATION NOMBRE DE COMPOSANTES EFFECTIVEMENT TRAITEES
  420. c write(6,*) 'NCP2 =',NCP2
  421. IF (NCP2.EQ.0) THEN
  422. IF (IMOT.NE.0) THEN
  423. MOTERR(1:4)=MLMOT1.MOTS(1)
  424. MOTERR(5:8)=' '
  425. CALL ERREUR(77)
  426. RETURN
  427. ELSE
  428. CALL ERREUR(26)
  429. RETURN
  430. ENDIF
  431. ENDIF
  432. IF (NCP2.LT.NCP1) THEN
  433. JGN=LOCOMP
  434. JGM=NCP2
  435. SEGADJ,MLMOT2
  436. ENDIF
  437. SEGSUP,MLREE3
  438. C
  439. C------------------------------- SORTIE -------------------------------C
  440. C C
  441. C CONSTRUCTION DE L'EVOLUTION :
  442. C SOMMATION DES ORDONNEES SUR CHAQUE SOUS-ZONE,
  443. C COMPOSANTE PAR COMPOSANTE :
  444. N=NCP2
  445. SEGINI,MEVOLL
  446. ITYEVO='REEL'
  447. IEVTEX=' '
  448. DO I=1,NCP1
  449. ICP=MLENT1.LECT(I)
  450. IF (ICP.NE.0) THEN
  451. MLREE2=ITZC1(1,I)
  452. C SOMME SUR LES SOUS-ZONES :
  453. DO J=2,ITZC1(/1)
  454. MLREE3=ITZC1(J,I)
  455. IF (MLREE2.EQ.0) THEN
  456. MLREE2=MLREE3
  457. ELSE
  458. IF (MLREE3.NE.0) THEN
  459. CALL ADLISR(MLREE2,MLREE3,IRET,1)
  460. IF (IRET.EQ.0) RETURN
  461. MLREE2=IRET
  462. ENDIF
  463. ENDIF
  464. ENDDO
  465. C DIVISION DES ORDONNEES PAR XNORM => DENSITE DE DISTRIB.
  466. XNORM=MLNORM.PROG(I)
  467. CALL MUFLIR(MLREE2,XNORM,IRET,-1)
  468. SEGINI,KEVOLL
  469. IPROGX=MLREE1
  470. IPROGY=IRET
  471. TYPX='LISTREEL'
  472. TYPY='LISTREEL'
  473. C COURBE DE TYPE "HIST" POUR TRAITEMENT DANS DESSIN :
  474. NUMEVX=ICOUL
  475. NUMEVY='HIST'
  476. NOMEVX=MLMOT2.MOTS(ICP)
  477. NOMEVY=' '
  478. KEVTEX=' '
  479. MEVOLL.IEVOLL(ICP)=KEVOLL
  480. ENDIF
  481. ENDDO
  482. C C
  483. C SORTIE :
  484. CALL ACTOBJ('EVOLUTIO',MEVOLL,1)
  485. CALL ECROBJ('EVOLUTIO',MEVOLL)
  486. C C
  487. C UN PEU DE MENAGE :
  488. IF (IMOT.NE.0) THEN
  489. SEGSUP,MLMOT1
  490. ENDIF
  491. SEGSUP,MLMOT2,TZC,XINDIC,MLNORM,MLENT1
  492.  
  493. RETURN
  494.  
  495.  
  496. C=======================================================================
  497. C SYNTAXE 1 : --> HISTO1
  498. C=======================================================================
  499. 100 CONTINUE
  500. CALL HISTO1
  501. END
  502.  
  503.  
  504.  

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