1 #ifndef _LALSIMIMRSPINPRECEOBGSLOPTIMIZEDINTERPOLATION_C
2 #define _LALSIMIMRSPINPRECEOBGSLOPTIMIZEDINTERPOLATION_C
16 UINT4 num_input_times,
24 gsl_spline *interp = NULL;
25 gsl_interp_accel *accel = NULL;
31 interp = gsl_spline_alloc(gsl_interp_cspline, num_input_times);
32 accel = gsl_interp_accel_alloc();
34 outputlen = (int)(yin[num_input_times-1] / deltat) + 1;
38 if (!interp || !accel || !
output) {
48 for (
int j = 0; j < outputlen; j++)
49 times[j] = tinit + deltat * j;
52 for (
unsigned int i = 1;
i <= dim;
i++) {
54 gsl_spline_init(interp, yin, &(yin[num_input_times *
i]), num_input_times);
57 unsigned int index_old=0;
58 double x_lo_old=0,y_lo_old=0,b_i_old=0,c_i_old=0,d_i_old=0;
59 for (
int j = 0; j < outputlen; j++) {
static int optimized_gsl_spline_eval_e(const gsl_spline *spline, double interptime, gsl_interp_accel *accel, double *output, unsigned int *index_old, double *x_lo_old, double *y_lo_old, double *b_i_old, double *c_i_old, double *d_i_old)
Perform cubic spline interpolation to achieve evenly-sampled data from that input data.
static int SEOBNRv3OptimizedInterpolatorGeneral(REAL8 *yin, REAL8 tinit, REAL8 deltat, UINT4 num_input_times, REAL8Array **yout, size_t dim)
#define XLAL_CALLGSL(statement)
REAL8Array * XLALCreateREAL8ArrayL(UINT4,...)
void XLALDestroyREAL8Array(REAL8Array *)
char output[FILENAME_MAX]