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
Required Methods§
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>
Object Safety§
This trait is not object safe.