43 BAND_LIMITED_CELL_ZERO = 1,
49 CUBIC_INTERP_LAST = -2
64 double scheme_coeffs[8];
90 int number_of_datapoints_to_left;
94 int first_nonzero_coeff, last_nonzero_coeff;
124 for (
int ind = first_nonzero_coeff; ind <= last_nonzero_coeff; ind++) {
125 interp_value += scheme_coeffs[ind] * v[ind + offset];
160 BAND_LIMITED_CELL_ZERO);
167 CUBIC_INTERP_MIDDLE);
190 tdms_flags::InterpolationMethod::Cubic);
Executes an interpolation scheme.
Definition interpolation_methods.h:57
int num_nonzero_coeffs() const
Compute the number of non-zero coefficients in the interpolation scheme.
Definition interpolation_methods.cpp:169
T interpolate(const T *v, const int offset=0) const
Executes the interpolation scheme on the data provided.
Definition interpolation_methods.h:122
bool is_better_than(const InterpolationScheme &s) const
Determines whether another interpScheme has greater value than this one.
Definition interpolation_methods.cpp:173
scheme_value get_priority() const
Get the value object.
Definition interpolation_methods.cpp:167
scheme_value
Defines our order of preference for the use of the various schemes.
Definition interpolation_methods.h:33
const InterpolationScheme & best_scheme(int datapts_in_direction, int interpolation_position, tdms_flags::InterpolationMethod interpolation_methods=tdms_flags::InterpolationMethod::Cubic)
Determine the appropriate interpolation scheme to use, given the number of datapoints available and t...
InterpolationMethod
Definition input_flags.h:37