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
impl<F> SumAccumulator<F> for Naive<F> where F: Floatimpl<F, C> SumAccumulator<F> for SumK<F, C> where F: Float, C: SumAccumulator<F> + Cloneimpl<F> SumAccumulator<F> for OnlineExactSum<F> where F: Float + Ieee754Ext, F::Significand: PrimInt, F::RawExponent: PrimInt