Download doublo.eso

Back to the list

   1 : C DOUBLO    SOURCE    PV        06/03/31    21:03:52     5366           
   2 :       SUBROUTINE DOUBLO(IEN,IND,NC,N, NF,IDU)
   3 : C_______________________________________________________________________
   4 : C
   5 : C     DETECTION DE DOUBLON DANS UNE LISTE DE NC-UPLET
   6 : C
   7 : C    Entrees:
   8 : C    --------
   9 : C          IEN=COLLECTION DE N NC-UPLET PARAMETRES CARACTERISTIQUES
  10 : C          IND=ORDRE INITIAL DANS IEN
  11 : C
  12 : C   Sorties:
  13 : C   --------
  14 : C          NF =NOMBRE DE NC-UPLET DIFFERENT
  15 : C          IDU=NOMBRE DE DOUBLON ASSOCIE A CHAQUE NC-UPLET DIFFERENT
  16 : C          IEN=COLLECTION DES NC-UPLET DIFFERENT
  17 : C          IND=ORDRE FINAL DES IDEX DES NC-UPLET
  18 : C
  19 : C   Appele par: NLOVEP
  20 : C   -----------
  21 : C
  22 : C   P.PEGON 9/11/92
  23 : C_______________________________________________________________________
  24 : C
  25 : 
  26 :       IMPLICIT INTEGER(I-N)
  27 :       DIMENSION IND(N),IEN(NC,N),IDU(N)
  28 :       LOGICAL LOK
  29 : C
  30 : C     INITIALISATION
  31 : C
  32 :       NF=1
  33 :       IDU(1)=1
  34 :       IF (N.EQ.1)RETURN
  35 : C
  36 : C     MISE EN ORDRE DES NC-UPLET
  37 : C
  38 : C
  39 :       DO IR=1,N-1
  40 :         DO IA=IR+1,N
  41 :           LOK=(IA.EQ.IA)
  42 :           DO IC=1,NC
  43 :             LOK=LOK.AND.(IEN(IC,IA).EQ.IEN(IC,IR))
  44 :           ENDDO
  45 :           IF (LOK)THEN
  46 :             IDUM=IND(IR+1)
  47 :             IND(IR+1)=IND(IA)
  48 :             IND(IA)=IDUM
  49 :             DO IC=1,NC
  50 :               IDUM=IEN(IC,IR+1)
  51 :               IEN(IC,IR+1)=IEN(IC,IA)
  52 :               IEN(IC,IA)=IDUM
  53 :             ENDDO
  54 :             GOTO 1
  55 :           ENDIF
  56 :         ENDDO
  57 :  1      CONTINUE
  58 :       ENDDO
  59 : C
  60 : C     DETECTION DES DOUBLONS
  61 : C
  62 :       DO IR=2,N
  63 :         LOK=(IR.EQ.IR)
  64 :         DO IC=1,NC
  65 :           LOK=LOK.AND.(IEN(IC,NF).EQ.IEN(IC,IR))
  66 :         ENDDO
  67 :         IF(LOK)THEN
  68 :           IDU(NF)=IDU(NF)+1
  69 :         ELSE
  70 :           NF=NF+1
  71 :           IDU(NF)=1
  72 :           DO IC=1,NC
  73 :             IEN(IC,NF)=IEN(IC,IR)
  74 :           ENDDO
  75 :         ENDIF
  76 :       ENDDO
  77 : C
  78 :       RETURN
  79 :       END
  80 :  
  81 :  

© Cast3M 2003 - All rights reserved.
Disclaimer