locate.f90
来自「FORTRANvisualfortran常用数值算法集及源码」· F90 代码 · 共 29 行
F90
29 行
SUBROUTINE locate(xx,n,x,j)
INTEGER j,n
REAL aaa,x,xx(n)
INTEGER jl,jm,ju
jl=0
ju=n+1
do
aaa=0.
if(ju-jl>1) then
aaa=2.
jm=(ju+jl)/2
if((xx(n)>=xx(1)).eqv.(x>=xx(jm))) then
jl=jm
else
ju=jm
endif
if(.not.aaa>1.) exit
endif
if(.not.aaa>1.) exit
end do
if(x==xx(1)) then
j=1
else if(x==xx(n)) then
j=n-1
else
j=jl
endif
END SUBROUTINE locate
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?