[updated 20.Jun.2000]

Librairie assembl > Fichier asmord.f

Qui appelle asmord ?

line
      SUBROUTINE ASMORD (ASEMBL,ISDTRM)  
line
  Auteur : D.Martin (Janvier 1990)  
  Derniere modification : D.Martin (20 Juin 1997)
  Version 1.0.0
   
  Determination de l'ordre de parcours des termes de la structure d'assemblage
  On regroupe en tete de la structure les termes ayant le meme niveau de 
  de tableau de compactage que le premier,...
   
 -- Arguments d'entree -- 
  ASEMBL structure $ASMBL du terme a assembler a partir de l'adresse 1
  ISDTRM structure $SDTRM de niveau 1 a l'adresse 1 
line
      INTEGER ASEMBL(*),ISDTRM(*)
 
      INTEGER LGETRM,NBTERM,INCTRM,NCHTRM,LGEASM,NBTRAC,INCASM,NBTRAL
     &       ,ADASMB,ADAUX,NDFSTO,NUTERM,NXNTRM,NUTRAS
     &       ,NVTRMB,ITYPTR,ITYCAL,NUKALE,NUDONN,ITYSYB,IPTDIR
     &       ,NUINCC,NVDUBC,NBNEBC,NVNUBC,NUINCL,NVDUBL,NBNEBL
     &       ,NVNUBL,INDSTK,NVSTAV,NVCORC,IATRDO,NIVIMA,NVSTOK
line
      CALL SDEXDB (ISDTRM,LGETRM,NBTERM,INCTRM,NCHTRM)                  !utilite
      CALL SDEXDB (ASEMBL,LGEASM,NBTRAC,INCASM,NBTRAL)                  !utilite
 
      NDFSTO=-99999
      ADASMB=LGEASM+1
      NUTERM=ASEMBL(ADASMB)
      CALL GETTRM (ISDTRM(LGETRM+INCTRM*(NUTERM-1)+1)                   
     &            ,NVTRMB,ITYPTR,ITYCAL,NUKALE,NUDONN,ITYSYB,IPTDIR
     &            ,NUINCC,NVDUBC,NBNEBC,NVNUBC,NUINCL,NVDUBL,NBNEBL
     &            ,NVNUBL,INDSTK,NVSTAV,NVCORC,IATRDO,NIVIMA)           !sdexplo
      NXNTRM=1 
1     NXNTRM=NXNTRM+1 
      DO 10 NUTRAS=NXNTRM,NBTRAC
         ADASMB=LGEASM+1+INCASM*(NUTRAS-1)
         NUTERM=ASEMBL(ADASMB)
   
         CALL GETTRM (ISDTRM(LGETRM+INCTRM*(NUTERM-1)+1)                 
     &               ,NVTRMB,ITYPTR,ITYCAL,NUKALE,NUDONN,ITYSYB,IPTDIR
     &               ,NUINCC,NVDUBC,NBNEBC,NVNUBC,NUINCL,NVDUBL,NBNEBL
     &               ,NVNUBL,INDSTK,NVSTOK,NVCORC,IATRDO,NIVIMA)        !sdexplo
   
         IF (NVSTOK.EQ.NVSTAV.AND.NVSTOK.NE.NDFSTO.AND.NUTRAS.GT.NXNTRM) 
     &   THEN
            ADAUX         =LGEASM+1+INCASM*(NXNTRM-1)
            ASEMBL(ADASMB)=ASEMBL(ADAUX)  
            ASEMBL(ADAUX) =NUTERM
            NXNTRM        =NXNTRM+1
         ENDIF
10    CONTINUE 
   
      IF (NXNTRM.GE.NBTRAC-1) RETURN
      ADASMB=LGEASM+1+INCASM*(NXNTRM-1)
      NUTERM=ASEMBL(ADASMB)
      CALL GETTRM (ISDTRM(LGETRM+INCTRM*(NUTERM-1)+1)                   
     &            ,NVTRMB,ITYPTR,ITYCAL,NUKALE,NUDONN,ITYSYB,IPTDIR
     &            ,NUINCC,NVDUBC,NBNEBC,NVNUBC,NUINCL,NVDUBL,NBNEBL
     &            ,NVNUBL,INDSTK,NVSTAV,NVCORC,IATRDO,NIVIMA)           !sdexplo
      GOTO 1  
                                                                    END !Asmord
line
top

asmord est appelé dans (2 procédures)

top