use interp1d::Interp1d;
fn main() {
let x: Vec<usize> = vec![1, 3, 5];
let y: Vec<f64> = vec![5.0, 3.0, 4.0];
let interpolator = Interp1d::new_sorted_int(x, y);
let x_interp = vec![2, 4];
let y_interp: Vec<f64> = x_interp
.iter()
.map(|&x| interpolator.interpolate_checked_converted(x))
.collect::<Result<Vec<f64>, _>>()
.unwrap();
println!("y_interp = {y_interp:?}");
}