Download genos2.eso

Back to the list

   1 : C GENOS2    SOURCE    CHAT      05/01/13    00:17:33     5004           
   2 :       SUBROUTINE GENOS2(R1,I2,N)
   3 : C----------------------------------------------------
   4 : C     ON ORDONNE R1, ON FAIT SUIVRE LES PERMUTATION DANS I2
   5 : C
   6 : C     NUMERICAL RECIPES, HEAP SORT
   7 : C
   8 : C     PP /9/97
   9 : C     Pierre Pegon/JRC Ispra
  10 : C----------------------------------------------------
  11 :       IMPLICIT INTEGER(I-N)
  12 :       IMPLICIT REAL*8 (A-H,O-Z)
  13 :       DIMENSION R1(N),I2(N)
  14 : C
  15 :       IF (N.LE.1) RETURN
  16 :       L=(N/2)+1
  17 :       IR=N
  18 : C
  19 :  1    CONTINUE
  20 :         IF(L.GT.1)THEN
  21 :           L=L-1
  22 :           RR1=R1(L)
  23 :           II2=I2(L)
  24 :         ELSE
  25 :           RR1=R1(IR)
  26 :           II2=I2(IR)
  27 :           R1(IR)=R1(1)
  28 :           I2(IR)=I2(1)
  29 :           IR=IR-1
  30 :           IF(IR.EQ.1)THEN
  31 :             R1(1)=RR1
  32 :             I2(1)=II2
  33 :             RETURN
  34 :           ENDIF
  35 :         ENDIF
  36 : C
  37 :         I=L
  38 :         J=L*2
  39 :         
  40 :  2      CONTINUE
  41 :           IF(J.GT.IR)GOTO 3
  42 :           IF(J.LT.IR.AND.R1(J).LT.R1(J+1))J=J+1
  43 :           IF(RR1.LT.R1(J))THEN
  44 :             R1(I)=R1(J)
  45 :             I2(I)=I2(J)
  46 :             I=J
  47 :             J=2*J
  48 :           ELSE
  49 :             J=IR+1
  50 :           ENDIF         
  51 :         GOTO 2
  52 :  3      CONTINUE
  53 :         R1(I)=RR1
  54 :         I2(I)=II2
  55 : C
  56 :       GOTO 1
  57 : C
  58 :       END
  59 :  
  60 :  
  61 :  

© Cast3M 2003 - All rights reserved.
Disclaimer