Reduction Operators
generic batch reduction |
|
sum of each batch element |
|
max of the batch elements |
|
min of the batch elements |
|
product of the batch elements |
|
horizontal sum across batches |
Also see the batch_bool Reducers.
-
template<class T, class A>
inline batch<T, A> haddp(batch<T, A> const *row) noexcept Parallel horizontal addition: adds the scalars of each batch in the array pointed by
rowand store them in a returned batch.- Parameters:
row – an array of
Nbatches- Returns:
the result of the reduction.
-
template<class T, class A, class F>
inline T reduce(F &&f, batch<T, A> const &x) noexcept Generic reducer using only batch operations.
-
template<class T, class A>
inline T reduce_add(batch<T, A> const &x) noexcept Adds all the scalars of the batch
x.- Parameters:
x – batch involved in the reduction
- Returns:
the result of the reduction.
-
template<class T, class A>
inline T reduce_max(batch<T, A> const &x) noexcept Max of all the scalars of the batch
x.- Parameters:
x – batch involved in the reduction
- Returns:
the result of the reduction.