Files
2025-09-12 18:55:25 +09:00

23 lines
303 B
C

void locate(xx,n,x,j)
float x,xx[];
unsigned long *j,n;
{
unsigned long ju,jm,jl;
int ascnd;
jl=0;
ju=n+1;
ascnd=(xx[n] >= xx[1]);
while (ju-jl > 1) {
jm=(ju+jl) >> 1;
if (x >= xx[jm] == ascnd)
jl=jm;
else
ju=jm;
}
if (x == xx[1]) *j=1;
else if(x == xx[n]) *j=n-1;
else *j=jl;
}