pub trait Spline {
// Required method
fn get_ranged_polynomials(&self) -> &Vec<(Range<f64>, Polynomial)>;
// Provided methods
fn eval<T: Into<f64> + Copy>(&self, x: T) -> f64 { ... }
fn eval_vec<T: Into<f64> + Copy>(&self, v: &[T]) -> Vec<f64> { ... }
fn polynomial_at<T: Into<f64> + Copy>(&self, x: T) -> &Polynomial { ... }
fn number_of_polynomials(&self) -> usize { ... }
fn eval_with_cond<F: Fn(f64) -> f64>(&self, x: f64, cond: F) -> f64 { ... }
fn eval_vec_with_cond<F: Fn(f64) -> f64 + Copy>(
&self,
x: &[f64],
cond: F
) -> Vec<f64> { ... }
}
Expand description
Trait for spline interpolation
CubicSpline
CubicHermiteSpline