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.
Loading content...
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...
fn map_aggregate<'a, A, FMap, FAggr>( &self, argument: A, map: &FMap, aggregate: &FAggr ) -> Result<R, ErrorReason> where A: Sync + Copy + Send, FAggr: Fn(R, R) -> R + 'a + Sync + Send, FMap: Fn(Complex<T>, usize, A) -> R + 'a + Sync, | [src] |
fn map_aggregate<'a, A, FMap, FAggr>( &self, argument: A, map: &FMap, aggregate: &FAggr ) -> Result<R, ErrorReason> where A: Sync + Copy + Send, FAggr: Fn(R, R) -> R + 'a + Sync + Send, FMap: Fn(T, usize, A) -> R + 'a + Sync, | [src] |
fn map_aggregate<'a, A, FMap, FAggr>( &self, argument: A, map: &FMap, aggregate: &FAggr ) -> Result<[R; 2], ErrorReason> where A: Sync + Copy + Send, FAggr: Fn(R, R) -> R + 'a + Sync + Send, FMap: Fn(T, usize, A) -> R + 'a + Sync, R: Send, | [src] |
fn map_aggregate<'a, A, FMap, FAggr>( &self, argument: A, map: &FMap, aggregate: &FAggr ) -> Result<[R; 3], ErrorReason> where A: Sync + Copy + Send, FAggr: Fn(R, R) -> R + 'a + Sync + Send, FMap: Fn(T, usize, A) -> R + 'a + Sync, R: Send, | [src] |
fn map_aggregate<'a, A, FMap, FAggr>( &self, argument: A, map: &FMap, aggregate: &FAggr ) -> Result<[R; 4], ErrorReason> where A: Sync + Copy + Send, FAggr: Fn(R, R) -> R + 'a + Sync + Send, FMap: Fn(T, usize, A) -> R + 'a + Sync, R: Send, | [src] |
fn map_aggregate<'a, A, FMap, FAggr>( &self, argument: A, map: &FMap, aggregate: &FAggr ) -> Result<Vec<R>, ErrorReason> where A: Sync + Copy + Send, FAggr: Fn(R, R) -> R + 'a + Sync + Send, FMap: Fn(T, usize, A) -> R + 'a + Sync, R: Send, | [src] |
Loading content...