Télécharger prgrap.eso

Retour à la liste

Numérotation des lignes :

prgrap
  1. C PRGRAP SOURCE PV 20/09/26 21:19:24 10724
  2. SUBROUTINE PRGRAP(PMTOT,
  3. $ ADJAC,
  4. $ IMPR,IRET)
  5. IMPLICIT INTEGER(I-N)
  6. IMPLICIT REAL*8 (A-H,O-Z)
  7. C***********************************************************************
  8. C NOM : PRGRAP
  9. C DESCRIPTION : Construit un graphe symétrique correspondant à un profil
  10. C de matrice Morse.
  11. C
  12. C LANGAGE : ESOPE
  13. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/TTMF)
  14. C mél : gounand@semt2.smts.cea.fr
  15. C
  16. C***********************************************************************
  17. C APPELES : RSETI
  18. C APPELE PAR : RENUME
  19. C***********************************************************************
  20. C ENTREES : PMTOT
  21. C SORTIES : ADJAC
  22. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  23. C***********************************************************************
  24. C VERSION : v1, 26/11/99, version initiale
  25. C HISTORIQUE : v1, 26/11/99, création
  26. C HISTORIQUE :
  27. C HISTORIQUE :
  28. C***********************************************************************
  29. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  30. C en cas de modification de ce sous-programme afin de faciliter
  31. C la maintenance !
  32. C***********************************************************************
  33. -INC PPARAM
  34. -INC CCOPTIO
  35. POINTEUR PMTOT.PMORS
  36. POINTEUR PMTRAN.PMORS
  37. POINTEUR PMSYM.PMORS
  38. *
  39. * Segment LSTIND (liste séquentielle indexée)
  40. *
  41. SEGMENT LSTIND
  42. INTEGER IDX(NBM+1)
  43. INTEGER IVAL(NBTVAL)
  44. ENDSEGMENT
  45. *
  46. * LISTE SEQUENTIELLE INDEXEE D'ENTIERS
  47. *
  48. * NBM : NOMBRE DE MULTIPLETS
  49. * NBTVAL : NOMBRE TOTAL DE VALEURS
  50. * IDX(I) : INDICE DE LA PREMIERE VALEUR DU IEME
  51. * MULTIPLET DANS LE TABLEAU IVAL
  52. * IVAL(IDX(I) -> IDX(I+1)-1) : VALEURS DU IEME MULTIPLET
  53. *
  54. *-INC SLSTIND
  55. INTEGER NBM,NBTVAL
  56. POINTEUR ADJAC.LSTIND
  57. *
  58. INTEGER IMPR,IRET
  59. *
  60. * Executable statements
  61. *
  62. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans prgrap'
  63. * In MAKPMT : SEGINI PMTRAN
  64. CALL MAKPMT(PMTOT,
  65. $ PMTRAN,
  66. $ IMPR,IRET)
  67. IF (IRET.NE.0) GOTO 9999
  68. * In FUSPRM : SEGINI PMSYM
  69. CALL FUSPRM(PMTOT,PMTRAN,
  70. $ PMSYM,
  71. $ IMPR,IRET)
  72. IF (IRET.NE.0) GOTO 9999
  73. SEGSUP PMTRAN
  74. SEGACT PMSYM
  75. NBM=PMSYM.IA(/1)-1
  76. NBTVAL=PMSYM.JA(/1)
  77. SEGINI ADJAC
  78. CALL RSETI(ADJAC.IDX,PMSYM.IA,PMSYM.IA(/1))
  79. CALL RSETI(ADJAC.IVAL,PMSYM.JA,PMSYM.JA(/1))
  80. SEGDES ADJAC
  81. * SEGDES PMSYM
  82. SEGSUP PMSYM
  83. *
  84. * Normal termination
  85. *
  86. IRET=0
  87. RETURN
  88. *
  89. * Format handling
  90. *
  91. *
  92. * Error handling
  93. *
  94. 9999 CONTINUE
  95. IRET=1
  96. WRITE(IOIMP,*) 'An error was detected in subroutine prgrap'
  97. RETURN
  98. *
  99. * End of subroutine PRGRAP
  100. *
  101. END
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  

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