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.
48 lines
1.2 KiB
48 lines
1.2 KiB
2 years ago
|
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
|
||
|
|
||
|
C=======================================================================
|
||
|
SUBROUTINE HUNT(XX,N,X,JLO)
|
||
|
C=======================================================================
|
||
|
DIMENSION XX(N)
|
||
|
LOGICAL ASCND
|
||
|
ASCND=XX(N).GT.XX(1)
|
||
|
IF(JLO.LE.0.OR.JLO.GT.N)THEN
|
||
|
JLO=0
|
||
|
JHI=N+1
|
||
|
GO TO 3
|
||
|
ENDIF
|
||
|
INC=1
|
||
|
IF(X.GE.XX(JLO).EQV.ASCND)THEN
|
||
|
1 JHI=JLO+INC
|
||
|
IF(JHI.GT.N)THEN
|
||
|
JHI=N+1
|
||
|
ELSE IF(X.GE.XX(JHI).EQV.ASCND)THEN
|
||
|
JLO=JHI
|
||
|
INC=INC+INC
|
||
|
GO TO 1
|
||
|
ENDIF
|
||
|
ELSE
|
||
|
JHI=JLO
|
||
|
2 JLO=JHI-INC
|
||
|
IF(JLO.LT.1)THEN
|
||
|
JLO=0
|
||
|
ELSE IF(X.LT.XX(JLO).EQV.ASCND)THEN
|
||
|
JHI=JLO
|
||
|
INC=INC+INC
|
||
|
GO TO 2
|
||
|
ENDIF
|
||
|
ENDIF
|
||
|
3 IF(JHI-JLO.EQ.1)RETURN
|
||
|
JM=(JHI+JLO)/2
|
||
|
IF(X.GT.XX(JM).EQV.ASCND)THEN
|
||
|
JLO=JM
|
||
|
ELSE
|
||
|
JHI=JM
|
||
|
ENDIF
|
||
|
GO TO 3
|
||
|
END
|