Télécharger rest.eso

Retour à la liste

Numérotation des lignes :

rest
  1. C REST SOURCE CB215821 20/11/25 13:39:08 10792
  2. SUBROUTINE REST
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. C=======================================================================
  6. C DIRECTIVE RESTITUER
  7. C ----------------
  8. C
  9. C
  10. C BUT: LECTURE ET RESTAURATION DES OBJETS NOMMES ET DE CEUX QU ILS
  11. C SOUS-TENDENT, SUR LE FICHIER IORES
  12. C IORESSAU EST DEFINI PAR: OPTIO RESTSAUV IORESSAU ;
  13. C
  14. C
  15. C ON SAIT RESTITUER LES OBJETS DONT LE TYPE EST CONTENU
  16. C DANS LE SP TYPFIL
  17. C
  18. C APPELLE TYPFIL CREPIL LIPIL
  19. C ECRIT PAR FARVACQUE
  20. C REPRIS PAR LENA
  21. C ---------------------------------------------------------------------
  22. C=======================================================================
  23. -INC TMCOLAC
  24.  
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. -INC CCFXDR
  28. C
  29. C
  30. CHARACTER*8 ITYPE
  31. CHARACTER*72 LABEL
  32. CHARACTER*4 MOFORM(2)
  33. DATA MOFORM/'FORM','LABE'/
  34. C
  35. IFORM=0
  36. ISTOPR=1000000
  37. LABEL= ' '
  38. 1 CONTINUE
  39. CALL LIRMOT(MOFORM,2,IRET,0)
  40. IF(IRET.EQ.1) THEN
  41. IFORM=1
  42. if(irefor.ne.iform) then
  43. call erreur(21)
  44. return
  45. endif
  46. GO TO 1
  47. ELSEIF(IRET.EQ.2) THEN
  48. CALL LIRCHA ( LABEL,1,IRETOU)
  49. IF(IERR.NE.0) RETURN
  50. IF( LABEL(1:5).EQ.'AUTO ') THEN
  51. LABEL='LABEL AUTOMATIQUE :'
  52. CALL LIRENT (ILABAU,1,IRETOU)
  53. IF(IERR.NE.0) RETURN
  54. WRITE(LABEL(20:23),FMT='(I4)') ILABAU
  55. ENDIF
  56. GO TO 1
  57. ENDIF
  58. iform=irefor
  59. * write (6,*) ' iformx dans rest ',iformx
  60. if (iformx.eq.2) iform=2
  61. C
  62. C **** ICOLAC EST INITIALISEE DANS CREPIL
  63. ITYPE=' '
  64. K=-1
  65. CALL TYPFIL( ITYPE,K)
  66. NITLAC=-K
  67. CALL CREPIL(ICOLAC,NITLAC)
  68. CCC IF (IIMPI.EQ.5)WRITE (IOIMP,801) NITLAC
  69. 801 FORMAT(' NOMBRE DE PILES CREEES : ',I5)
  70. C-------------------------------------------------------------
  71. if (iform.ne.2) REWIND IORES
  72. * if (iform.eq.2) ios=IXDRREWIND( ixdrw )
  73. C *** LECTURE SUR LE FICHIER DE RESTAURATION
  74. C --- LECTURE DES PILES
  75. IFIN=0
  76. IRET=0
  77. ISNIV=IONIVE
  78. CALL LIPIL (ICOLAC,IFIN,IRET,IFORM,LABEL)
  79. IF (IRET.NE.0) GO TO 5000
  80. IF (IIMPI.EQ.5)WRITE (IOIMP,805)
  81. 805 FORMAT(' RESTAURATION EFFECTUEE ')
  82. C --- IMPRESSIONS INTERMEDIAIRES DES PILES
  83. IVOULU=0
  84. C-------------------------------------------------------------
  85. C --- RESTAURATION DES POINTEURS
  86. CALL RESTPI (ICOLAC)
  87. IF (IIMPI.EQ.5)WRITE (IOIMP,806)
  88. 806 FORMAT(' RESTAURATION DES POINTEURS EFFECTUEE ')
  89. * fusion des éventuels doubles multiplicateurs de L
  90. IF (IONIVE.LE.15) CALL DBBSUP(ICOLAC)
  91. C-------------------------------------------------------------
  92. CALL ERREUR(-277)
  93. C MODI N.BLAY LE 17/09/91 COHERENCE AVEC SAUV-----------------
  94. if (iform.ne.2) REWIND IORES
  95. if (iform.eq.2) ios=IXDRREWIND( ixdrr )
  96. 1000 CONTINUE
  97. C --- SUPPRESSION DES PILES (IVOULU=0)
  98. IVOULU=10000
  99. CALL SUPPIL (ICOLAC,IVOULU)
  100. IF (IIMPI.EQ.5)WRITE (IOIMP,807)
  101. 807 FORMAT(' SUPPRESSION DES PILES EFFECTUEE ')
  102. * on ne sait pas sauver en dessous de 16 a cause des mult de L
  103. IONIVE=max(ISNIV,16)
  104. GO TO 11
  105. C-------------------------------------------------------------
  106. 5000 CONTINUE
  107. CALL ERREUR(559)
  108. GO TO 1000
  109. 11 RETURN
  110. END
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  

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