Download ordvec.eso

Back to the list

   1 : C ORDVEC    SOURCE    CHAT      05/01/13    02:06:17     5004           
   2 : C ORDVEC    SOURCE    WP        23/08/94                
   3 : C     SUBROUTINE ORDVEC ( IPLVAL, IPLVEC )
   4 : ************************************************************************        
   5 : *                                                                               
   6 : *                                GRAAMO                                       
   7 : *                             -----------                                       
   8 : *                                                                               
   9 : * FONCTION:                                                                     
  10 : * ---------
  11 : *                                                                     
  12 : *     -- TRI D'UNE LISTE DE VECTEURS PROPRES. LES VECEURS PROPRES DONT
  13 : *     LES VALEURS PROPRES ASSOCIEES SONT LES PLUS PETITES EN MODULE
  14 : *     SONT PLACES EN PREMIER DANS LA LISTE --
  15 : *                                                                               
  16 : * MODE D'APPEL:                                 
  17 : * -------------                                                                 
  18 : *                                                                               
  18 : *     CALL   ORDVEC ( IPLVAL, IPLVEC )
  19 : *                                                                               
  20 : * PARAMETRES:   (E)=ENTREE   (S)=SORTIE                                         
  21 : * -----------                                                                   
  22 : *                                                                               
  23 : *     IPLVAL  ENTIER    (E)  POINTEUR DE L'OBJET 'LISTREEL' CONTENANT
  24 : *                            LA SUITE DE 'FLOTTANTS' A TRIER 
  25 : *                       (S)  POINTEUR DE L'OBJET 'LISTREEL' CONTENANT
  26 : *                            LA SUITE DE 'FLOTTANTS' TRIES 
  27 : *                           
  28 : *     IPLVEC  ENTIER    (E)  POINTEUR DE L'OBJET 'LISTCHPO' CONTENANT
  29 : *                            LA SUITE DE 'CHPOINT' ASSOCIE A IPLVAL.
  30 : *                       (S)  MEME CHOSE, MAIS TRIEE.
  31 : *
  32 : * 
  33 : * MODE DE FONCTIONNEMENT:                                                       
  34 : * -----------------------                                                       
  35 : *                                                                               
  36 : *           TRI A BULLES.  ( LA LISTE EST PETITE ! )
  37 : *
  38 : * AUTEUR, DATE DE CREATION:                                                     
  39 : * -------------------------                                                     
  40 : *                                                                               
  41 : *     A.M. JOLIVALT, W. PASILLAS     06 / 07 / 94. ( ESOPE )
  42 : *
  43 : ***************************************************
  44 : 
  45 : ******
  46 : *     SUBROUTINES:
  47 : *           SWAP           ( ECHANGE DES TERMES DANS LES LISTES )
  48 : *           ORDVEC         ( TRI A BULLES )
  49 : ******
  50 : ******
  51 : *     -- ON EFFECTUE UN TRI A BULLES --
  52 : ******
  53 :       SUBROUTINE ORDVEC ( IPLVAL, IPLVEC )
  54 :       IMPLICIT INTEGER(I-N)
  55 :       IMPLICIT REAL*8 (A-H,O-Z)
  56 : -INC  CCOPTIO

  57 : -INC  SMLCHPO

  58 : -INC  SMLREEL

  59 : 
  60 :       POINTEUR IPLVAL.MLREEL, IPLVEC.MLCHPO
  61 :       REAL*8   XVAL1, XVAL2
  62 :       INTEGER  ILDIM, IB100
  63 :       LOGICAL  BSWAP
  64 : 
  65 :       SEGACT ,IPLVAL
  66 :       ILDIM = IPLVAL.PROG(/1)
  67 :       SEGDES, IPLVAL
  68 : 
  69 :  10   CONTINUE
  70 :          BSWAP = .FALSE.
  71 :          DO 100 IB100 = 1, ILDIM - 1
  72 :             SEGACT ,IPLVAL
  73 :             XVAL1 = IPLVAL.PROG( IB100 )
  74 :             XVAL2 = IPLVAL.PROG( IB100 + 1 )
  75 :             SEGDES, IPLVAL
  76 :             IF ( ABS(XVAL1) .GT. ABS(XVAL2) ) THEN
  76 :                CALL SWAP( IB100, IPLVAL, IPLVEC )
  77 :                IF ( IERR .NE. 0 ) RETURN
  78 :                BSWAP = .TRUE.
  79 :             ENDIF
  80 :  100     CONTINUE
  81 :       IF ( BSWAP ) GOTO 10
  82 :       SEGDES, IPLVAL
  83 : 
  84 :       RETURN
  85 :       END
  86 :  

© Cast3M 2003 - All rights reserved.
Disclaimer