sums.rs

377 B · rust · 15 lines

1pub fn pairwise(values: &[f64]) -> f64 {2    if values.len() <= 128 {3        return values.iter().sum();4    }5    let half = values.len() / 2;6    pairwise(&values[..half]) + pairwise(&values[half..])7}89pub fn mean(values: &[f64]) -> f64 {10    pairwise(values) / values.len() as f6411}1213pub fn odds(limit: usize) -> impl Iterator<Item = usize> {14    (1..=limit).step_by(2)15}