Télécharger ireper.eso

Retour à la liste

Numérotation des lignes :

ireper
  1. C IREPER SOURCE CHAT 05/01/13 00:43:49 5004
  2. SUBROUTINE IREPER(LNINT,LNREP,
  3. $ LISINT,LISREP,
  4. $ KRINRE,
  5. $ IMPR,IRET)
  6. IMPLICIT INTEGER(I-N)
  7. IMPLICIT REAL*8 (A-H,O-Z)
  8. C***********************************************************************
  9. C NOM : IREPER
  10. C PROJET : Noyau linéaire NLIN
  11. C DESCRIPTION :
  12. C
  13. C On construit KRINRE, liste d'entier de repérage des
  14. C entiers stockés dans LISINT, par rapport
  15. C aux entiers (supposées sans doublons)
  16. C de LISREP.
  17. C
  18. C Exemple : LISINC = 1 7 9 7
  19. C LISREP = 1 3 7 9 12
  20. C KRINRE = 1 3 4 3
  21. C
  22. C LANGAGE : FORTRAN 77 (sauf E/S)
  23. C AUTEUR : Stéphane GOUNAND (CEA/DRN/DMT/SEMT/LTMF)
  24. C mél : gounand@semt2.smts.cea.fr
  25. C***********************************************************************
  26. C APPELE PAR : CORINC
  27. C***********************************************************************
  28. C ENTREES : LNINT, LNREP, LISINT, LISREP
  29. C SORTIES : KRINRE
  30. C CODE RETOUR (IRET) : = 0 si tout s'est bien passé
  31. C***********************************************************************
  32. C VERSION : v1, 17/11/99, version initiale
  33. C HISTORIQUE : v1, 17/11/99, création
  34. C HISTORIQUE :
  35. C HISTORIQUE :
  36. C***********************************************************************
  37. C Prière de PRENDRE LE TEMPS de compléter les commentaires
  38. C en cas de modification de ce sous-programme afin de faciliter
  39. C la maintenance !
  40. C***********************************************************************
  41.  
  42. -INC PPARAM
  43. -INC CCOPTIO
  44. INTEGER LNINT,LNREP
  45. INTEGER LISINT(LNINT)
  46. INTEGER LISREP(LNREP)
  47. *
  48. INTEGER KRINRE(LNINT)
  49. *
  50. INTEGER IMPR,IRET
  51. *
  52. LOGICAL LFOUND
  53. INTEGER IINT,IREP
  54. *
  55. * Executable statements
  56. *
  57. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans ireper'
  58. *
  59. DO 1 IINT=1,LNINT
  60. LFOUND=.FALSE.
  61. IREP=0
  62. 12 CONTINUE
  63. IREP=IREP+1
  64. IF (LISINT(IINT).EQ.LISREP(IREP)) THEN
  65. LFOUND=.TRUE.
  66. ELSE
  67. IF (IREP.LT.LNREP) THEN
  68. GOTO 12
  69. ENDIF
  70. ENDIF
  71. IF (.NOT.LFOUND) THEN
  72. WRITE(IOIMP,*) 'Un élément de LISINT n''est pas dans LISREP'
  73. GOTO 9999
  74. ELSE
  75. KRINRE(IINT)=IREP
  76. ENDIF
  77. 1 CONTINUE
  78. *
  79. * Normal termination
  80. *
  81. IRET=0
  82. RETURN
  83. *
  84. * Format handling
  85. *
  86. *
  87. * Error handling
  88. *
  89. 9999 CONTINUE
  90. IRET=1
  91. WRITE(IOIMP,*) 'An error was detected in subroutine ireper'
  92. RETURN
  93. *
  94. * End of subroutine IREPER
  95. *
  96. END
  97.  
  98.  
  99.  
  100.  

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