Struct accurate::dot::Dot2
[−]
[src]
pub struct Dot2<F> { /* fields omitted */ }DotK with two cascaded accumulators
Examples
use accurate::traits::*; use accurate::dot::Dot2; let d = Dot2::zero() + (1.0, 1.0) + (2.0, 2.0) + (3.0, 3.0); assert_eq!(14.0f64, d.dot());
References
Based on Ogita, Rump and Oishi 05
Trait Implementations
impl<F: Copy> Copy for Dot2<F>[src]
impl<F: Clone> Clone for Dot2<F>[src]
fn clone(&self) -> Dot2<F>[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl<F: Debug> Debug for Dot2<F>[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl<F> DotAccumulator<F> for Dot2<F> where
F: Float + TwoProduct + TwoSum, [src]
F: Float + TwoProduct + TwoSum,
fn dot(self) -> F[src]
The dot product of all terms accumulated so far
fn zero() -> Self where
F: Zero, [src]
F: Zero,
Initial value for an accumulator
fn absorb<I>(self, it: I) -> Self where
I: IntoIterator<Item = (F, F)>, [src]
I: IntoIterator<Item = (F, F)>,
Absorb the items of an iterator into the accumulator Read more
impl<F> Add<(F, F)> for Dot2<F> where
F: Float + TwoProduct + TwoSum, [src]
F: Float + TwoProduct + TwoSum,
type Output = Self
The resulting type after applying the + operator.
fn add(self, (a, b): (F, F)) -> Self[src]
Performs the + operation.
impl<F> From<F> for Dot2<F> where
F: Float, [src]
F: Float,
impl<F> Add for Dot2<F> where
F: Float + TwoSum, [src]
F: Float + TwoSum,
type Output = Self
The resulting type after applying the + operator.
fn add(self, rhs: Self) -> Self::Output[src]
Performs the + operation.
impl<F> Send for Dot2<F> where
F: Send, [src]
F: Send,