pub fn moving_average( col: &[f64], window: usize, out: &mut [f64], ) -> Result<(), DataError>
Simple moving-average smoother (odd window).
Even/zero window, shape mismatch, or non-finite input.