------------------------------------------------------------------------ IMSL Name: SRCH/DSRCH (Single/Double precision version) Revised: March 19, 1991 Purpose: Search a sorted vector for a given scalar and return its index. Usage: CALL SRCH (N, VALUE, X, INCX, INDEX) Arguments: N - Length of vector Y. (Input) VALUE - Scalar to be searched for in Y. (Input) X - Vector of length N*INCX. (Input) Y is obtained from X for I = 1, 2, ..., N by Y(I) = X(1+(I-1)*INCX). Y(1), Y(2), ..., Y(N) must be in ascending order. INCX - Displacement between elements of X. (Input) INCX must be greater than zero. INDEX - Index of Y pointing to VALUE. (Output) If INDEX is positive, VALUE is found in Y. If INDEX is negative, VALUE is not found in Y. INDEX Location of VALUE 1 thru N VALUE = Y(INDEX) -1 VALUE < Y(1) or N = 0 -N thru -2 Y(-INDEX-1) < VALUE < Y(-INDEX) -(N+1) VALUE > Y(N) Keywords: Utilities; Binary search; Logarithmic search; Bisection GAMS: N5b; N5c Chapters: MATH/LIBRARY Utilities STAT/LIBRARY Utilities Page No.: MATH/LIBRARY User's Manual page 1291 STAT/LIBRARY User's Manual page 1412