[updated 10.Jul.1997]

Librairie redlib > Fichier redini.f

Qui appelle redini ?

line
      SUBROUTINE REDINI (LECNEW,ISOR)
line
  Auteur : D.Martin (Avril 1988)
  Derniere modification D.Martin (9 Juillet 197) 
   
  Reinitialisation de l'unite de lecture des directives
   
 -- Arguments d'entree -- 
  LECNEW numero d'unite logique de la nouvelle unite de lecture
  ISOR   negatif signifie : modifier le fichier de sortie IMP=LEC  
         peut avoir les valeurs 0,1,2,3,4 ou une combinaison de ces valeurs
         1   Impression des donnees
         2   Rembobiner le fichier d'entree en fin de phase de lecture 
         4   Pas de controle des commentaires commencant par un $ ou une * 
         8   RETURN au programme appelant derriere l'erreur detectee.  
             NER est charge avec un numero de diagnostic . 
line
      INTEGER          LECNEW,ISOR
 
      CHARACTER        PREFIX*8
      INTEGER          IMPPAL,IMPSDR,IMPMES,NBMESG
     &                ,NFIX,IRE,NER,NCAR,ILU,IOP,LECACT
     &                ,NUMACT,NRAN,IMP,IECR,KNUM,IRWD,NOCO,IRET,NAV
     &                ,LECOLD,LCANTE,NUMOLD,NUMSAV,LECSAV,I,IS,NIVESP
      DOUBLE PRECISION FLOT
      COMMON/SPNAME/   PREFIX(20) /SPNIVE/NIVESP
      COMMON/FICHIM/   IMPPAL,IMPSDR,IMPMES,NBMESG
      COMMON/REDCO1/   FLOT,NFIX,IRE,NER,NCAR,ILU,IOP(5)
      COMMON/REDCA1/ NUMACT,NRAN,LECACT,IMP,IECR,KNUM,IRWD,NOCO,IRET,NAV
      COMMON/REDLST/   LECOLD,LCANTE,NUMOLD
      INTEGER          IREDCO(9)
      EQUIVALENCE      (IREDCO(1),IRE)
line
      IS=ISOR
      IRET=0
      IF (IS.GE.8) THEN  
         IS=IS-8  
         IRET=1
      ENDIF
      NOCO=0
      IF (IS.GE.4) THEN  
         IS=IS-4  
         NOCO=1
      ENDIF
      IRWD=0
      IF (IS.GE.2) THEN  
         IS=IS-2  
         IRWD=1
      ENDIF
      IECR=IS
      IF (LECACT.EQ.LECNEW) RETURN  
      Nombre de cartes lues et numero de l'unite de lecture actuelle
      NUMSAV=NUMACT
      LECSAV=LECACT
      NRAN=0
      LECACT=0
      IMP=0
      KNUM=0
      NAV=0
      DO 1 I=1,9  
         IREDCO(I)=0
1     CONTINUE 
      NFIX=0
      FLOT=0.D0
      En cas de retour a l'unite precedente Nb. de cartes lues sur celle-ci
      IF (LECNEW.EQ.LECOLD) NUMACT=NUMOLD
      LCANTE=LECOLD
      NUMOLD=NUMSAV
      LECOLD=LECSAV
      IF (ISOR.GT.0.AND.IMPSDR.GT.0.AND.LECOLD.GT.0) THEN
         WRITE (IMPMES,10000) (PREFIX(I),I=1,NIVESP),'*Redini*'
         WRITE (IMPMES,10001) LECOLD,LECNEW
      ENDIF
      NAV=-1
      DO 2 I=1,5
         IOP(I)=0 
2     CONTINUE
      IMP=LECNEW
      IF (ISOR.LT.0) RETURN 
      IMP=IMPMES
      CALL REDLEC (-1)  
      LECACT=LECNEW
      IF (LECACT.EQ.0) LECACT=5 
line
10000 FORMAT(' ---> ',(T7,10(A8,:,' > ')))
10001 FORMAT(T7,'Re-initialisation de la lecture - '
     &,'Ancienne unite :',I6,'  Nouvelle unite :',I6)  
                                                                    END !Redini
line
top

redini est appelé dans (6 procédures)

initie.f (initial) lcdire.f (lecdire) lectsd.f (A_z_mevisu)
m2nopo.f (momeutil) redle.f (redlib) reduni.f (redlib)

top