[updated 8.Sep.2008]

Librairie sdexplo > Fichier putcst.f

Qui appelle putcst ?

line
      SUBROUTINE PUTCST (NOMCST,TYPCST,NTIERE,REELLE,COMPLE,CHARAC)
line
  Auteur : D.Martin (Janvier 1990)  
  Derniere modification : D.Martin (2 Juillet 1997)
   
  Introduction de la valeur de la constante de nom donne dans le tableau
  des constantes de type adequat. 
  Si la constante de nom donne n'existe pas, elle rajoutee au tableau  
  des noms de donnees. 
   
 -- Arguments d'entree -- 
  NOMCST nom de la constante
  TYPCST type de la constante('ENTIER','REEL','COMPLEXE','CHARACTER*x')
  NTIERE valeur de la constante si la constante est entiere
  REELLE valeur de la constante si le constante est reelle 
  COMPLE valeur de la constante si le constante est complexe
  CHARAC valeur de la constante caractere ou chaine de caracteres  
line
      CHARACTER*(*) NOMCST,CHARAC,TYPCST
      INTEGER       NTIERE
      REAL          REELLE
      COMPLEX       COMPLE 
   
      INCLUDE 'ALLOC'
       INCLUDE 'CONTEX'
 
      INTEGER INTDON,INTTYP,KELCHN,KLCSTE
      INTEGER MCMDON,LGMDON,MCDONN,LGDONN,LGEDON,NBDONN,INCDON,NCHDON
     &       ,NUDONN,NUCSTE,NWHDON,ITYDON,ITYPDO,NBCHAR,LGA,MCL,LGU,I
      CHARACTER ERCODE*120 
      COMMON/FORMAH/ERCODE 
line
      CALL PRFXMJ (1,'*PutCst*')
   
      CALL TBAR2  (ERCODE,'#OMDON',1,MCMDON,'$DONNE',1,MCDONN)
      CALL SDEXDB (IST(MCDONN),LGEDON,NBDONN,INCDON,NCHDON)             !SDexplo
      NUDONN=KELCHN (NOMCST,AST(MCMDON),NBDONN,NCHDON)                  !Utilite
   
      IF (NUDONN.LE.0) THEN 
   
         Numero de la nouvelle constante
         (KLCSTE incorpore l'agrandissement des tableaux des constantes) 
         NUCSTE=KLCSTE (TYPCST)                                         !Sdexplo
         Introduction de la nouvelle constante dans les structures 
         $DONNE et #OMDON en derniere position apres eventuel agrandissement
         CALL TBRR2  (ERCODE,'$DONNE',1,LGDONN,'#OMDON',1,LGMDON)
         CALL SDAJST ('$DONNE',1,LGDONN,LGEDON,INCDON,NBDONN,1)         !Sdexplo
         NWHDON=MAX(NCHDON,LEN(NOMCST))
         CALL SDAJST ('#OMDON',1,LGMDON,0,NWHDON,NBDONN,1)              !Sdexplo
         CALL TBAR2  (ERCODE,'$DONNE',1,MCDONN,'#OMDON',1,MCMDON)
         CALL RIPCHN (AST(MCMDON),NBDONN,NCHDON,NOMCST)                 !Utilite
         CALL SDMKDB (IST(MCDONN),LGEDON,NBDONN,INCDON,NCHDON)          !Sdexplo
         NUDONN=NBDONN 
         ITYDON=INTDON ('CONSTANTE')                                    !Utilite
         ITYPDO=INTTYP (TYPCST)                                         !Utilite
         CALL SDMKCO (NUDONN,IST(MCDONN),ITYDON,NUCSTE,ITYPDO)          !Sdexplo 
      ELSE  
         Recherche des caracteristiques de la donnee
         CALL SDEXCO (NUDONN,IST(MCDONN),ITYDON,NUCSTE,ITYPDO)          !Sdexplo
      ENDIF 
      IF (TYPCST(1:2).EQ.'CA') THEN 
         NBCHAR=LEN (CHARAC)
         CALL TBRR1  (ERCODE,'$ASCTE',1,LGA)
         CALL TBAR1  (ERCODE,'$LGCSA',1,MCL)
         IF (NBCHAR.GT.IST(MCL+NUCSTE)) THEN
            NBCHAR=NBCHAR-IST(MCL+NUCSTE)  
            LGU=0  
            DO 1 I=1,IST(MCL)  
               LGU=LGU+IST(MCL+I)
1           CONTINUE 
            IF (LGA.LT.LGU+2*NBCHAR) CALL TBAJST ('$ASCTE',1,LGU+NBCHAR)
         ENDIF
      ENDIF
  
      Introduction de la valeur de la constante dans le tableau
      des constantes du bon type.  
      CALL INCST (NUCSTE,ITYPDO,NTIERE,REELLE,COMPLE,CHARAC)            !Sdexplo
      CALL PRFXMJ (-1,'*PutCst*')  
                                                                    END !Putcst
line
top

putcst est appelé dans (15 procédures)

iteinv.f (valpro) itinv.f (A_mode_guide) itinva.f (A_mode_guide)
lap_neu_gc.f (A_1lap_neuman) ppbiosav.f (A_biot-savard) ppcbdisp.f (A_mode_guide)
ppcdperio.f (A_cond_period) ppefl_ana.f (E_6efl_ana) ppefl_num.f (E_5efl_num)
ppgalbrun.f (A_galbrun) pph3new.f (A_helmz3d) pphelmz3_s.f (E_4helmz3d)
ppmax2d3c.f (A_mxwl2d_3c) pp_tran.f (A_mxwl2d_trans) rkterm.f (sdexplo)

top