#include #include #include #include int main() { const double v[3] = {-0.1, 0.0, 0.1}; size_t idx1, idx2, idx3; const double x1 = -0.05, x2 = 0; gsl_interp_accel * a = gsl_interp_accel_alloc(); idx1 = gsl_interp_accel_find(a, v, 3, x1); idx2 = gsl_interp_accel_find(a, v, 3, x2); idx3 = gsl_interp_bsearch(v, x2, 0, 2); printf("idx1: %zi \t idx2: %zi \t idx3: %zi\n", idx1, idx2, idx3); assert( x2 < v[idx2+1]); return 0; }