use cheby::{evaluate, fit_coeffs, nodes};
fn main() {
const N: usize = 13;
let xi: [f64; N] = nodes();
let values: [f64; N] = std::array::from_fn(|k| (2.0 * xi[k]).sin() + 0.25 * xi[k]);
let coeffs = fit_coeffs(&values);
for &tau in &[-0.8, -0.2, 0.3, 0.9] {
let approx = evaluate(&coeffs, tau);
let exact = (2.0 * tau).sin() + 0.25 * tau;
println!(
"tau={tau:+.2}: approx={approx:.12}, exact={exact:.12}, abs_err={:.3e}",
(approx - exact).abs()
);
}
}