Télécharger ireper.eso

Retour à la liste

Numérotation des lignes :

  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. -INC CCOPTIO
  42. INTEGER LNINT,LNREP
  43. INTEGER LISINT(LNINT)
  44. INTEGER LISREP(LNREP)
  45. *
  46. INTEGER KRINRE(LNINT)
  47. *
  48. INTEGER IMPR,IRET
  49. *
  50. LOGICAL LFOUND
  51. INTEGER IINT,IREP
  52. *
  53. * Executable statements
  54. *
  55. IF (IMPR.GT.1) WRITE(IOIMP,*) 'Entrée dans ireper'
  56. *
  57. DO 1 IINT=1,LNINT
  58. LFOUND=.FALSE.
  59. IREP=0
  60. 12 CONTINUE
  61. IREP=IREP+1
  62. IF (LISINT(IINT).EQ.LISREP(IREP)) THEN
  63. LFOUND=.TRUE.
  64. ELSE
  65. IF (IREP.LT.LNREP) THEN
  66. GOTO 12
  67. ENDIF
  68. ENDIF
  69. IF (.NOT.LFOUND) THEN
  70. WRITE(IOIMP,*) 'Un élément de LISINT n''est pas dans LISREP'
  71. GOTO 9999
  72. ELSE
  73. KRINRE(IINT)=IREP
  74. ENDIF
  75. 1 CONTINUE
  76. *
  77. * Normal termination
  78. *
  79. IRET=0
  80. RETURN
  81. *
  82. * Format handling
  83. *
  84. *
  85. * Error handling
  86. *
  87. 9999 CONTINUE
  88. IRET=1
  89. WRITE(IOIMP,*) 'An error was detected in subroutine ireper'
  90. RETURN
  91. *
  92. * End of subroutine IREPER
  93. *
  94. END
  95.  
  96.  
  97.  
  98.  

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