Trait accurate::sum::traits::SumAccumulator [] [src]

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

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

Accumulates terms of a sum

Required Methods

The sum of all terms accumulated so far

Provided Methods

Initial value for an accumulator

Absorb the items of an iterator into the accumulator

Examples

use accurate::traits::*;
use accurate::sum::Sum2;

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

Implementors