[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
26.4 Index Look-up and Acceleration
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 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]. An inline version of this function is used whenHAVE_INLINE
is defined.
- 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 i such that
x_array[i] <= x < x_array[i+1]
. An inline version of this function is used whenHAVE_INLINE
is defined.
- Function: void gsl_interp_accel_free (gsl_interp_accel* acc)
This function frees the accelerator object acc.