The state of searches can be stored in a `gsl_interp_accel`

object,
which is a kind of iterator for interpolation lookups. It caches the
previous value of an index lookup. When the subsequent interpolation
point falls in the same interval its index value can be returned
immediately.

__Function:__size_t**gsl_interp_bsearch***(const double x_array[], double*`x`, size_t`index_lo`, size_t`index_hi`)-
This function returns the index @math{i} of the array
`x_array`such that`x_array[i] <= x < x_array[i+1]`

. The index is searched for in the range [`index_lo`,`index_hi`].

__Function:__gsl_interp_accel ***gsl_interp_accel_alloc***(void)*- This function returns a pointer to an accelerator object, which is a kind of iterator for interpolation lookups. It tracks the state of lookups, thus allowing for application of various acceleration strategies.

__Function:__size_t**gsl_interp_accel_find***(gsl_interp_accel **`a`, const double x_array[], size_t`size`, double`x`)-
This function performs a lookup action on the data array
`x_array`of size`size`, using the given accelerator`a`. This is how lookups are performed during evaluation of an interpolation. The function returns an index @math{i} such that @code{xarray[i] <= x < xarray[i+1]}.

__Function:__void**gsl_interp_accel_free***(gsl_interp_accel**`a`)-
This function frees the accelerator object
`a`.

Go to the first, previous, next, last section, table of contents.