#include <gsl/gsl_vector.h>
#include <gsl/gsl_interp.h>

#include <stdio.h>
#include <assert.h>

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;
}
