[][src]Trait basic_dsp_vector::PreciseDotProductOps

pub trait PreciseDotProductOps<A, R, T, N, D> where
    T: RealNumber,
    N: NumberSpace,
    D: Domain,
    A: GetMetaData<T, N, D>, 
{ type Output; fn dot_product_prec(&self, factor: &A) -> Self::Output; }

An operation which multiplies each vector element with a constant

Associated Types

type Output

Loading content...

Required methods

fn dot_product_prec(&self, factor: &A) -> Self::Output

Calculates the dot product of self and factor using a more precise but slower algorithm. Self and factor remain unchanged.

Example

use basic_dsp_vector::*;
let vector1 = vec!(2.0, 1.0, -1.0, 4.0).to_real_time_vec();
let vector2 = vec!(3.0, 4.0, -1.0, -2.0).to_real_time_vec();
let product = vector1.dot_product_prec(&vector2).expect("Ignoring error handling in examples");
assert_eq!(3.0, product);
Loading content...

Implementors

impl<S, O, T, N, D, NO, DO> PreciseDotProductOps<O, Complex<T>, T, NO, DO> for DspVec<S, T, N, D> where
    S: ToSlice<T>,
    T: RealNumber,
    N: ComplexNumberSpace,
    D: Domain,
    O: Vector<T> + GetMetaData<T, NO, DO> + Index<RangeFull, Output = [T]>,
    NO: PosEq<N> + NumberSpace,
    DO: PosEq<D> + Domain
[src]

impl<S, O, T, N, D, NO, DO> PreciseDotProductOps<O, T, T, NO, DO> for DspVec<S, T, N, D> where
    S: ToSlice<T>,
    T: RealNumber,
    N: RealNumberSpace,
    D: Domain,
    O: Vector<T> + GetMetaData<T, NO, DO> + Index<RangeFull, Output = [T]>,
    NO: PosEq<N> + NumberSpace,
    DO: PosEq<D> + Domain
[src]

type Output = ScalarResult<T>

Loading content...