C SPCOMP    SOURCE    CHAT      06/03/29    21:34:37     5360
      SUBROUTINE SPCOMP(TAB,NBCOL,NBLIG,NUM,NBNUM,iarr)
C     **********************************************************************
C     OBJET : RENUMEROTE LES ELEMENTS D'UN TABLEAU POUR LES COMPACTER
C            EN DEBUT : DE 1 A "NBNUM"
C     EN ENTREE:
C      NUM     :   NUM(I) EST NUMERO DE L'ELEMENT QUI DOIT ETRE MIS EN I
C                  ATTENTION !! NUM DOIT ETRE TRIE AVEC ENSTRI
C      NBNUM   :   NOMBRE D'ELEMENTS A RENUMEROTER
C     EN SORTIE:
C     COMPLEXITE : O(NBNUM)
C     PRINCIPE     : LES PERMUTATIONS FONCTIONNENT SI NUM(I)>I
C                    C.A.D. L'ANCIENNE POSITION > A LA NOUVELLE
C                    ON EST DANS CE CAS SI NUM EST TRIE PAR ORDRE CROISS.
C     **********************************************************************

      IMPLICIT INTEGER(I-N)
      REAL*8       TAB(*)
      INTEGER    NBCOL,NBLIG
      INTEGER    NUM(*),NBNUM,iarr
C
      INTEGER I
C
      DO 10 I=1,NBNUM
        CALL SPPERM(TAB,NBCOL,NBLIG,NUM(I),I,iarr)
   10 CONTINUE
      END



