Télécharger cmechm.eso

Retour à la liste

Numérotation des lignes :

  1. C CMECHM SOURCE GF238795 15/04/23 21:15:15 8502
  2. subroutine cmechm(pChelm,nbInt,nbFloa,nbChar)
  3. C=======================================================================
  4. C COLlaborateur MEsure CHamp par eleMent
  5. C Mesure de la taille d'un Chelm en nombre d'entier, de flottant et
  6. C de caractere
  7. C=======================================================================
  8. integer nbInt,nbFloa,nbChar
  9. integer nbComp,iComp
  10. integer longTit,longConch
  11. integer nbNoEl,nbEl
  12. integer nbCons,iCons
  13. integer nbInf
  14. integer nconch
  15. -INC SMCHAML
  16. pointeur pChelm.MCHELM
  17. pointeur pChaml.MCHAML
  18. pointeur pElval.MELVAL
  19. C write(ioimp,*) 'Entre dans CMECHM'
  20. if (pChelm.ne.0) then
  21. segact pChelm
  22. nbCons=pChelm.ichaml(/1)
  23. longTit=pChelm.titche(/1)
  24. longConch=pChelm.conche(/1)
  25. nbInf=pChelm.infche(/2)
  26. C write(ioimp,*) 'tailles chaml',nbCons,longTit,longConch,nbInf
  27. nbInt=5+nbCons*(nbInf+1)
  28. nbFloa=0
  29. nbChar=longTit+nbCons*longConch
  30. C Boucle sur les chaml
  31. do iCons=1,nbCons
  32. pChaml=pChelm.ichaml(iCons)
  33. segact pChaml
  34. nbComp =pChaml.ielval(/1)
  35. nbChar=nbChar+(8+16)*nbComp
  36. nbInt=nbInt+1
  37. C write(ioimp,*) 'nbComp',nbComp
  38. do iComp=1,nbComp
  39. nbInt=nbInt+4
  40. pElval=pChaml.ielval(iComp)
  41. segact pElval
  42. nbNoEl=pElval.ielche(/1)
  43. nbEl=pElval.ielche(/2)
  44. C write(ioimp,*) 'nbNoEl*nbEl',nbNoEl,nbEl
  45. nbInt=nbInt+nbNoEl*nbEl
  46. nbNoEl=pElval.velche(/1)
  47. nbEl=pElval.velche(/2)
  48. C write(ioimp,*) 'nbNoEl*nbEl',nbNoEl,nbEl
  49. nbFloa=nbFloa+nbNoEl*nbEl
  50. segdes pElval
  51. enddo
  52. segdes pChaml
  53. enddo
  54. segdes pChelm
  55. else
  56. nbInt=0
  57. nbFloa=0
  58. nbChar=0
  59. return
  60. endif
  61. C write(ioimp,*) 'Sortie de CMECHM'
  62.  
  63. end
  64.  
  65.  
  66.  

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