ADAS Subroutine xxindx
SUBROUTINE XXINDX( N , ARR , INDX ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: XXINDX ********************* C C PURPOSE: INDEXES AN ARRAY 'ARR' OF LENGTH 'N'. IT OUTPUTS THE ARRAY C 'INDX()' SUCH THAT 'ARR(INDX(J))' IS IN ASCENDING ORDER C FOR J=1,2,...,N. THE INPUT QUANTITIES 'N' AND 'ARR' ARE C NOT CHANGED. C C REFERENCE: NUMERICAL RECIPES: The Art of Scientific Computing C (FORTRAN Version). C W.H.Press, B.P.Flannery, S.A.Teukolsky & W.T.Vetterling. C (Cambridge University Press, Cambridge). 1989. p.233 C ISBN 0 521 38330 7 C C CALLING PROGRAM: GENERAL USE C C SUBROUTINE: C C INPUT : (I*4) N = INPUT ARRAY 'ARR()' LENGTH C INPUT : (R*8) ARR() = ARRAY TO BE INDEXED C OUTPUT: (I*4) INDX() = ASCENDING ORDER INDEX C C (R*8) INDXT = TEMPORARY STORAGE FOR 'INDX' ELEMENT C (I*4) L = "HIRING" PHASE INDEX C (I*4) IR = "RETIREMENT-AND-PROMOTION" PHASE INDEX C (I*4) I = GENERAL USE C (I*4) J = GENERAL USE C C (R*8) Q = TEMPORARY STORAGE FOR 'ARR' ELEMENT C C ROUTINES: NONE C C NOTE: USES THE HEAPSORT METHOD. C C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC) C K1/0/81 C JET EXT. 4569 C C DATE: 09/10/90 C C----------------------------------------------------------------------- C C----------------------------------------------------------------------- INTEGER INDX(N), N REAL*8 ARR(N)