SpectraRust/tlusty/extracted/locate.f
2026-03-19 14:05:33 +08:00

27 lines
492 B
Fortran

SUBROUTINE locate(xx,n,x,j,nxdim)
c =================================
c
INCLUDE 'IMPLIC.FOR'
dimension xx(nxdim)
c
jl=0
ju=n+1
10 if(ju-jl.gt.1) then
jm=(ju+jl)/2
if((xx(n).ge.xx(1)).eqv.(x.ge.xx(jm)))then
jl=jm
else
ju=jm
endif
go to 10
end if
if(x.eq.xx(1)) then
j=1
else if(x.eq.xx(n)) then
j=n-1
else
j=jl
endif
return
END