template<
typename ReductionOpT>
struct cub::ReduceBySegmentOp< ReductionOpT >
Reduce-by-segment functor.
Given two cub::KeyValuePair inputs a
and b
and a binary associative combining operator f(const T &x, const T &y)
, an instance of this functor returns a cub::KeyValuePair whose key
field is a.key
+ b.key
, and whose value
field is either b.value if b.key is non-zero, or f(a.value, b.value) otherwise.
ReduceBySegmentOp is an associative, non-commutative binary combining operator for input sequences of cub::KeyValuePair pairings. Such sequences are typically used to represent a segmented set of values to be reduced and a corresponding set of {0,1}-valued integer "head flags" demarcating the first value of each segment.< Binary reduction operator to apply to values