[go: up one dir, main page]

Trait accurate::SumAccumulator [] [src]

pub trait SumAccumulator<F>: Add<F, Output=Self> + From<F> + Default {
    fn sum(&self) -> F;

    fn absorb<I>(self, it: I) -> Self where I: IntoIterator<Item=F> { ... }
}

Accumulates terms of a sum

Required Methods

fn sum(&self) -> F

The sum of all terms accumulated so far

Provided Methods

fn absorb<I>(self, it: I) -> Self where I: IntoIterator<Item=F>

Absorb the items of an iterator into the accumulator

Examples

use accurate::*;

let s = Sum2::default().absorb(vec![1.0, 2.0, 3.0]);
assert_eq!(6.0f64, s.sum())

Implementors