Download ireper.eso

Back to the list

   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 :  

© Cast3M 2003 - All rights reserved.
Disclaimer