Cloned SEACAS for EXODUS library with extra build files for internal package management.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

55 lines
1.4 KiB

C Copyright(C) 1999-2020 National Technology & Engineering Solutions
C of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
C NTESS, the U.S. Government retains certain rights in this software.
C
C See packages/seacas/LICENSE for details
SUBROUTINE INDEXI_FQ (NMAX, IARRAY, N, INDX)
C***********************************************************************
C INDEXI - SORT THE N ELEMENTS OF IARRAY WHOSE POSITION IS STORED
C IN INDX. ONLY THE ORDER OF THE INDEX ARRAY, INDX, IS
C MODIFIED
C***********************************************************************
DIMENSION IARRAY(NMAX), INDX(N)
L = N/2 + 1
IR = N
100 CONTINUE
IF (L .GT. 1) THEN
L = L - 1
INDXT = INDX(L)
JQ = IARRAY(INDXT)
ELSE
INDXT = INDX(IR)
JQ = IARRAY(INDXT)
INDX(IR) = INDX(1)
IR = IR - 1
IF (IR .EQ. 1) THEN
INDX(1) = INDXT
RETURN
END IF
END IF
I = L
J = L + L
110 CONTINUE
IF (J .LE. IR) THEN
IF (J .LT. IR) THEN
IF (IARRAY(INDX(J)) .LT. IARRAY(INDX(J + 1))) J = J + 1
END IF
IF (JQ .LT. IARRAY(INDX(J))) THEN
INDX(I) = INDX(J)
I = J
J = J + J
ELSE
J = IR + 1
END IF
GO TO 110
END IF
INDX(I) = INDXT
GO TO 100
END