[][src]Trait basic_dsp::MapAggregateOps

pub trait MapAggregateOps<T, R> where
    R: Send
{ type Output; fn map_aggregate<'a, A, FMap, FAggr>(
        &self,
        argument: A,
        map: &FMap,
        aggregate: &FAggr
    ) -> Self::Output
    where
        A: Sync + Copy + Send,
        FAggr: Fn(R, R) -> R + 'a + Sync + Send,
        FMap: Fn(T, usize, A) -> R + 'a + Sync
; }

Operations which allow to iterate over the vector and to derive results.

Associated Types

type Output

Loading content...

Required methods

fn map_aggregate<'a, A, FMap, FAggr>(
    &self,
    argument: A,
    map: &FMap,
    aggregate: &FAggr
) -> Self::Output where
    A: Sync + Copy + Send,
    FAggr: Fn(R, R) -> R + 'a + Sync + Send,
    FMap: Fn(T, usize, A) -> R + 'a + Sync

Transforms all vector elements using the function map and then aggregates all the results with aggregate. aggregate must be a commutativity and associativity; that's because there is no guarantee that the numbers will be aggregated in any deterministic order.

Loading content...

Implementors

impl<S, T, N, D, R> MapAggregateOps<Complex<T>, R> for DspVec<S, T, N, D> where
    D: Domain,
    N: ComplexNumberSpace,
    R: Send,
    S: ToSlice<T>,
    T: RealNumber
[src]

type Output = Result<R, ErrorReason>

impl<S, T, N, D, R> MapAggregateOps<T, R> for DspVec<S, T, N, D> where
    D: Domain,
    N: RealNumberSpace,
    R: Send,
    S: ToSlice<T>,
    T: RealNumber
[src]

type Output = Result<R, ErrorReason>

impl<S, V, T, R> MapAggregateOps<T, R> for Matrix2xN<V, S, T> where
    R: Send,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>, 
[src]

type Output = Result<[R; 2], ErrorReason>

impl<S, V, T, R> MapAggregateOps<T, R> for Matrix3xN<V, S, T> where
    R: Send,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>, 
[src]

type Output = Result<[R; 3], ErrorReason>

impl<S, V, T, R> MapAggregateOps<T, R> for Matrix4xN<V, S, T> where
    R: Send,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>, 
[src]

type Output = Result<[R; 4], ErrorReason>

impl<S, V, T, R> MapAggregateOps<T, R> for MatrixMxN<V, S, T> where
    R: Send,
    S: ToSlice<T>,
    T: RealNumber,
    V: Vector<T> + MapAggregateOps<T, R, Output = Result<R, ErrorReason>>, 
[src]

type Output = Result<Vec<R>, ErrorReason>

Loading content...