Function rebin_xy (o2scl)

O2scl : Function List

template<class vec_t, class vec2_t, class vec3_t, class vec4_t>
void o2scl::rebin_xy(const vec_t &x, const vec2_t &y, vec3_t &x_out, vec4_t &y_out, size_t n_pts, size_t interp_type)

From a pair of vectors, \( (x,y) \) create a new pair of vectors, \( (x_{\mathrm{out}},y_{\mathrm{out}}) \) where \( x_{\mathrm{out}} \) is uniformly-spaced.

This function uses interpolation (method determined by interp_type) to create new vectors x_out and y_out which will be resized using the resize() method to ensure they are of size n_pts. This function creates an object of type o2scl::interp_vec to do the interpolation.

This function is used in linear_or_log_chi2() .

Note

The two vectors, x and y, must have the same size, as reported by their size() method.

Note

In order to use interpolation, the input vector x must be either increasing or decreasing.

template<class vec_t, class vec2_t, class vec3_t, class vec4_t>
int o2scl::rebin_xy(const vec_t &x, const vec2_t &y, vec3_t &x_out, vec4_t &y_out, size_t n_pts, size_t interp_type1, size_t interp_type2, double acc = 1.0e-4)

From a pair of vectors, \( (x,y) \) create a new pair of vectors, \( (x_{\mathrm{out}},y_{\mathrm{out}}) \) where \( x_{\mathrm{out}} \) is uniformly-spaced.

This function rebins the vectors x and y twice, with two different interpolation types, and then compares the accuracy of the result to the user-specified value acc.

Todo

In function rebin_xy(): I’m not sure what the purpose of this function was originally.

Note

Experimental