Télécharger histog.eso

Retour à la liste

Numérotation des lignes :

  1. C HISTOG SOURCE CB215821 19/07/30 21:16:50 10273
  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 AVCE 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 MCOMP,MCOMPJ,MOTCLE(1)
  142. MOTCLE(1)='ABS '
  143. C C
  144. SEGMENT XINDIC
  145. INTEGER IIND1(IND1,2)
  146. REAL*8 XIND1(IND1)
  147. ENDSEGMENT
  148. SEGMENT TZC
  149. INTEGER ITZC1(NZ,NC)
  150. ENDSEGMENT
  151. C
  152. POINTEUR MLNORM.MLREEL
  153.  
  154. C=======================================================================
  155. C SYNTAXE 2 PAR DEFAUT
  156. C=======================================================================
  157. C C
  158. C----------------------- ACQUISITION DES ENTREES ----------------------C
  159. C C
  160. C LECTURE OPTIONNELLE DE LA COULEUR :
  161. CALL LIRMOT(NCOUL,NBCOUL,ICOUL,0)
  162. IF (ICOUL.EQ.0) ICOUL=IDCOUL+1
  163. ICOUL=ICOUL-1
  164. C C
  165. C LECTURE DU MODELE (OBLIGATOIRE pour la syntaxe 2):
  166. MOTERR(1:8)=' MODELE '
  167. CALL MESLIR(-137)
  168. CALL LIROBJ('MMODEL ',IPMOD1,0,IRET)
  169. IF(IERR.NE.0) RETURN
  170. IF(IRET.EQ.0) GOTO 100
  171. c ==> PAS DE MODELE, ON TENTE LA SYNTAXE 1
  172.  
  173. CALL ACTOBJ('MMODEL ',IPMOD1,1)
  174. C C
  175. C LECTURE OBLIGATOIRE DU CHAMP :
  176. MOTERR(1:8)=' MCHAML '
  177. CALL MESLIR(-137)
  178. CALL LIROBJ('MCHAML',IPCHE1,1,IRET)
  179. CALL ACTOBJ('MCHAML',IPCHE1,1)
  180. IF (IERR.NE.0) RETURN
  181. C REDUCTION IPCHE1 SUR IPMOD1
  182. CALL REDUAF(IPCHE1,IPMOD1,IPCHE2,0,IRET,KERRE)
  183. IF (IRET.NE.1) THEN
  184. CALL ERREUR(KERRE)
  185. RETURN
  186. ENDIF
  187. IPCHE1=IPCHE2
  188. C VERIFICATION QUE LES SOUS-ZONES ONT TOUTES MEME SUPPORT
  189. CALL QUESUP(IPMOD1,IPCHE1,0,0,IRET,ISUP1)
  190. IF (ISUP1.EQ.9999) THEN
  191. CALL ERREUR(560)
  192. RETURN
  193. ENDIF
  194. C C
  195. C LECTURE OPTIONNELLE DU MOT-CLE "ABS" :
  196. CALL LIRMOT(MOTCLE,1,IABS,0)
  197. C C
  198. C LECTURE OBLIGATOIRE DU LISTREEL (MLREE1 = INTERVALLES DE MESURE) :
  199. MOTERR(1:8)='LISTREEL'
  200. CALL MESLIR(-137)
  201. CALL LIROBJ('LISTREEL',MLREE1,1,IRET)
  202. IF (IERR.NE.0) RETURN
  203. SEGACT,MLREE1
  204. N1=MLREE1.PROG(/1)
  205. IF (N1.LE.1) THEN
  206. CALL ERREUR(249)
  207. RETURN
  208. ENDIF
  209. X1=MLREE1.PROG(1)
  210. X2=MLREE1.PROG(2)
  211. IF (X1.GE.X2) THEN
  212. CALL ERREUR(249)
  213. RETURN
  214. ENDIF
  215. C CONSTRUCTION D'UN HACHAGE DANS LE CAS OU LONG. INTERV. PAS CONST.:
  216. C 1. RECHERCHE DU + PETIT PAS DANS LISTREEL FOURNI (XPAS)
  217. JG=N1-1
  218. SEGINI,MLREE3
  219. XPAS=X2-X1
  220. MLREE3.PROG(1)=XPAS
  221. DO IH=3,N1
  222. X1=X2
  223. X2=MLREE1.PROG(IH)
  224. XPASI=X2-X1
  225. MLREE3.PROG(IH-1)=XPASI
  226. IF (XPAS.GT.XPASI) XPAS=XPASI
  227. ENDDO
  228. IF (XPAS.LE.0.) THEN
  229. CALL ERREUR(249)
  230. RETURN
  231. ENDIF
  232. C 2. CONSTRUCTION DU HACHAGE (INTERVALLES REGULIERS DE TAILLE
  233. C INFERIEURE AU + PETIT INTERVALLE DE MLREE1)
  234. C XINDIC PERMET D'ASSOCIER LES INTERVALLES DE MLREE1 AU HACHAGE :
  235. C IIND1(I,1)=0 : Ie INTERV. HACHAGE A CHEVAL SUR 2 INTERV. MLREE1
  236. C IIND1(I,1)=1 : Ie INTERV. HACHAGE STRICT. DANS 1 INTERV. MLREE1
  237. C IIND1(I,2)=K : Ie INTERV. HACHAGE ASSOCIE A Ke INTERV. MLREE1
  238. C XIND1(I)= BORNE DES 2 INTERV. MLREE1 DANS Ie INTERV. HACHAGE
  239. C (CAS OU IIND1(I,1)=0)
  240. X1=MLREE1.PROG(1)
  241. NH=INT((X2-X1)/XPAS)+1
  242. IND1=NH
  243. SEGINI,XINDIC
  244. IREF=1
  245. IIND1(1,1)=1
  246. IIND1(1,2)=IREF
  247. XPASH=(X2-X1)/FLOAT(NH)
  248. XREH=X1+XPASH
  249. DO IIND=2,NH
  250. XREF=MLREE1.PROG(IREF+1)
  251. XREH=XREH+XPASH
  252. IIND1(IIND,2)=IREF
  253. XIND1(IIND)=XREF
  254. IF(XREH.GT.XREF) THEN
  255. IIND1(IIND,1)=0
  256. IREF=IREF+1
  257. IF (IREF.GT.N1) THEN
  258. c write(6,*) 'IREF > N1 !!'
  259. RETURN
  260. ENDIF
  261. ELSE
  262. IIND1(IIND,1)=1
  263. ENDIF
  264. ENDDO
  265. C C
  266. C LECTURE OPTIONNELLE DU(DES) NOM(S) DE LA COMPOSANTE A TRAITER :
  267. NCP1=0
  268. C DONNEE D'UN MOT ?
  269. CALL LIRCHA(MCOMP,0,IMOT)
  270. IF (IMOT.NE.0) THEN
  271. NCP1=1
  272. JGM=NCP1
  273. JGN=IMOT
  274. SEGINI,MLMOT1
  275. MLMOT1.MOTS(1)=MCOMP(1:IMOT)
  276. ELSE
  277. C SINON, DONNEE D'UN LISTMOTS ?
  278. CALL LIROBJ('LISTMOTS',MLMOT1,0,IRET)
  279. IF (IRET.NE.0) THEN
  280. SEGACT,MLMOT1
  281. NCP1=MLMOT1.MOTS(/2)
  282. ELSE
  283. C SINON, TOUTES LES COMPOSANTES DU CHAMP EN ENTREE :
  284. C (ATTENTION : IL FAUT PARCOURIR TOUTES LES SOUS-ZONES...)
  285. IMOT=1
  286. MCHEL1=IPCHE1
  287. NZ1=MCHEL1.ICHAML(/1)
  288. MCHAM1=MCHEL1.ICHAML(1)
  289. C INITIALISATION MLMOTS SUR 1ERE SOUS-ZONE :
  290. JGN=MCHAM1.NOMCHE(/1)
  291. JGM=MCHAM1.NOMCHE(/2)
  292. SEGINI,MLMOT1
  293. NCP1=JGM
  294. DO I=1,NCP1
  295. MLMOT1.MOTS(I)=MCHAM1.NOMCHE(I)
  296. ENDDO
  297. C VERIF. NOMS COMPOSANTES SUR LES AUTRES SOUS-ZONES
  298. DO I=2,NZ1
  299. MCHAM1=MCHEL1.ICHAML(I)
  300. DO J=1,MCHAM1.NOMCHE(/2)
  301. MCOMPJ=MCHAM1.NOMCHE(J)
  302. CALL PLACE(MLMOT1.MOTS,NCP1,IPLA,MCOMPJ)
  303. IF (IPLA.EQ.0) THEN
  304. JGM=NCP1+1
  305. SEGADJ,MLMOT1
  306. NCP1=NCP1+1
  307. MLMOT1.MOTS(NCP1)=MCOMPJ
  308. ENDIF
  309. ENDDO
  310. ENDDO
  311. ENDIF
  312. ENDIF
  313. C C
  314. C----------------------------- TRAITEMENT -----------------------------C
  315. C C
  316. C JACOBIEN ASSOCIE AU MODELE :
  317. C CALCUL DU JACOBIEN :
  318. CALL JACOPO(IPMOD1,IPCHE2,IRET)
  319. IF (IRET.EQ.0) RETURN
  320. MMODEL=IPMOD1
  321. IMODEL=KMODEL(1)
  322. C
  323. C AJUSTEMENT DES POINTS SUPPORTS :
  324. C ISUP1 = VALEUR INDICATEUR POINTS SUPPORTS IPCHE1
  325. C ISUP2 = VALEUR INDICATEUR POINTS SUPPORTS IPCHE2 (JACOBIEN)
  326. IF (ISUP1.EQ.1) THEN
  327. CALL CHASUP(IPMOD1,IPCHE1,IPCHE3,IRET,5)
  328. IF (IRET.NE.0) THEN
  329. CALL ERREUR(IRET)
  330. RETURN
  331. ENDIF
  332. IPCHE1=IPCHE3
  333. ELSEIF (ISUP1.NE.5) THEN
  334. CALL CHASUP(IPMOD1,IPCHE2,IPCHE3,IRET,ISUP1)
  335. IF (IRET.NE.0) THEN
  336. CALL ERREUR(IRET)
  337. RETURN
  338. ENDIF
  339. IPCHE2=IPCHE3
  340. ENDIF
  341. C
  342. C ECHANTILLONNAGE :
  343. NCP2=0
  344. MCHEL1=IPCHE1
  345. MCHEL2=IPCHE2
  346. NZ1=MCHEL1.ICHAML(/1)
  347. NZ=NZ1
  348. NC=NCP1
  349. SEGINI,TZC
  350. JGN=MLMOT1.MOTS(/1)
  351. JGM=NCP1
  352. SEGINI,MLMOT2
  353. JG=NCP1
  354. SEGINI,MLNORM
  355. SEGINI,MLENT1
  356. DO I=1,NZ1
  357. MCHAM1=MCHEL1.ICHAML(I)
  358. IPT1=MCHEL1.IMACHE(I)
  359. ICOMP=MCHAM1.NOMCHE(/2)
  360. MINTE2=MCHEL2.INFCHE(I,4)
  361. MCHAM2=MCHEL2.ICHAML(I)
  362. MELVA2=MCHAM2.IELVAL(1)
  363. DO J=1,ICOMP
  364. MCOMPJ=MCHAM1.NOMCHE(J)
  365. CALL PLACE(MLMOT1.MOTS,NCP1,IPLA,MCOMPJ)
  366. IF (IPLA.NE.0) THEN
  367. IF (MCHAM1.TYPCHE(J).NE.'REAL*8') THEN
  368. MOTERR(1:4)='HIST'
  369. MOTERR(5:8)=MCOMPJ(1:4)
  370. CALL ERREUR(335)
  371. RETURN
  372. ENDIF
  373. JREF=IPLA
  374. IPLA=0
  375. IF (NCP2.NE.0) CALL PLACE(MLMOT2.MOTS,NCP2,IPLA,MCOMPJ)
  376. IF (IPLA.EQ.0) THEN
  377. NCP2=NCP2+1
  378. MLMOT2.MOTS(NCP2)=MCOMPJ
  379. MLENT1.LECT(JREF)=NCP2
  380. ENDIF
  381. JG=N1
  382. SEGINI,MLREE2
  383. ITZC1(I,JREF)=MLREE2
  384. MELVA1=MCHAM1.IELVAL(J)
  385. NP1=MELVA1.VELCHE(/1)
  386. NE1=MELVA1.VELCHE(/2)
  387. NP2=MELVA2.VELCHE(/1)
  388. NE2=MELVA2.VELCHE(/2)
  389. DO K=1,IPT1.NUM(/2)
  390. DO L=1,MINTE2.POIGAU(/1)
  391. VIJKL2=MINTE2.POIGAU(L)*
  392. & (ABS(MELVA2.VELCHE(MIN(NP2,L),MIN(NE2,K))))
  393. XIJKL1=MELVA1.VELCHE(MIN(NP1,L),MIN(NE1,K))
  394. IF (IABS.EQ.1) XIJKL1=ABS(XIJKL1)
  395. NIJKL1=INT((XIJKL1-X1)/XPASH)+1
  396. IF (NIJKL1.GE.1.AND.NIJKL1.LE.NH.AND.XIJKL1.GE.X1) THEN
  397. IIJKL1=IIND1(NIJKL1,2)
  398. IF (IIND1(NIJKL1,1).EQ.1) THEN
  399. XIJKL2=VIJKL2/MLREE3.PROG(IIJKL1)
  400. MLREE2.PROG(IIJKL1)=MLREE2.PROG(IIJKL1)+XIJKL2
  401. ELSE
  402. IF (XIJKL1.LT.XIND1(NIJKL1)) THEN
  403. XIJKL2=VIJKL2/MLREE3.PROG(IIJKL1)
  404. MLREE2.PROG(IIJKL1)=MLREE2.PROG(IIJKL1)+XIJKL2
  405. ELSE
  406. XIJKL2=VIJKL2/MLREE3.PROG(IIJKL1+1)
  407. MLREE2.PROG(IIJKL1+1)=MLREE2.PROG(IIJKL1+1)+XIJKL2
  408. ENDIF
  409. ENDIF
  410. ENDIF
  411. MLNORM.PROG(JREF)=MLNORM.PROG(JREF)+VIJKL2
  412. ENDDO
  413. ENDDO
  414. ENDIF
  415. ENDDO
  416. ENDDO
  417. C
  418. C VERIFICATION NOMBRE DE COMPOSANTES EFFECTIVEMENT TRAITEES
  419. c write(6,*) 'NCP2 =',NCP2
  420. IF (NCP2.EQ.0) THEN
  421. IF (IMOT.NE.0) THEN
  422. MOTERR(1:4)=MLMOT1.MOTS(1)
  423. MOTERR(5:8)=' '
  424. CALL ERREUR(77)
  425. RETURN
  426. ELSE
  427. CALL ERREUR(26)
  428. RETURN
  429. ENDIF
  430. ENDIF
  431. IF (NCP2.LT.NCP1) THEN
  432. JGN=MLMOT2.MOTS(/1)
  433. JGM=NCP2
  434. SEGADJ,MLMOT2
  435. ENDIF
  436. SEGSUP,MLREE3
  437. C
  438. C------------------------------- SORTIE -------------------------------C
  439. C C
  440. C CONSTRUCTION DE L'EVOLUTION :
  441. C SOMMATION DES ORDONNEES SUR CHAQUE SOUS-ZONE,
  442. C COMPOSANTE PAR COMPOSANTE :
  443. N=NCP2
  444. SEGINI,MEVOLL
  445. ITYEVO='REEL'
  446. IEVTEX=' '
  447. DO I=1,NCP1
  448. ICP=MLENT1.LECT(I)
  449. IF (ICP.NE.0) THEN
  450. MLREE2=ITZC1(1,I)
  451. C SOMME SUR LES SOUS-ZONES :
  452. DO J=2,ITZC1(/1)
  453. MLREE3=ITZC1(J,I)
  454. IF (MLREE2.EQ.0) THEN
  455. MLREE2=MLREE3
  456. ELSE
  457. IF (MLREE3.NE.0) THEN
  458. CALL ADLISR(MLREE2,MLREE3,IRET,1)
  459. IF (IRET.EQ.0) RETURN
  460. MLREE2=IRET
  461. ENDIF
  462. ENDIF
  463. ENDDO
  464. C DIVISION DES ORDONNEES PAR XNORM => DENSITE DE DISTRIB.
  465. XNORM=MLNORM.PROG(I)
  466. CALL MUFLIR(MLREE2,XNORM,IRET,-1)
  467. SEGINI,KEVOLL
  468. IPROGX=MLREE1
  469. IPROGY=IRET
  470. TYPX='LISTREEL'
  471. TYPY='LISTREEL'
  472. C COURBE DE TYPE "HIST" POUR TRAITEMENT DANS DESSIN :
  473. NUMEVX=ICOUL
  474. NUMEVY='HIST'
  475. NOMEVX=MLMOT2.MOTS(ICP)
  476. NOMEVY=' '
  477. MEVOLL.IEVOLL(ICP)=KEVOLL
  478. ENDIF
  479. ENDDO
  480. C C
  481. C SORTIE :
  482. CALL ACTOBJ('EVOLUTIO',MEVOLL,1)
  483. CALL ECROBJ('EVOLUTIO',MEVOLL)
  484. C C
  485. C UN PEU DE MENAGE :
  486. IF (IMOT.NE.0) THEN
  487. SEGSUP,MLMOT1
  488. ENDIF
  489. SEGSUP,MLMOT2,TZC,XINDIC,MLNORM,MLENT1
  490.  
  491. RETURN
  492.  
  493.  
  494. C=======================================================================
  495. C SYNTAXE 1 : --> HISTO1
  496. C=======================================================================
  497. 100 CONTINUE
  498. CALL HISTO1
  499. END
  500.  
  501.  
  502.  

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