|
Bolt
1.3
C++ template library with support for OpenCL
|
Performs on a sequence, a reduction of each sub-sequence as defined by equivalent keys. More...
#include "bolt/cl/device_vector.h"#include "bolt/cl/pair.h"#include <bolt/cl/detail/reduce_by_key.inl>Go to the source code of this file.
Namespaces | |
| namespace | bolt |
| Defining namespace for the Bolt project. | |
| namespace | bolt::cl |
| Namespace containing OpenCL related data types and functions. | |
Functions | |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator1 , typename OutputIterator2 > | |
| pair< OutputIterator1, OutputIterator2 > | bolt::cl::reduce_by_key (control &ctl, InputIterator1 keys_first, InputIterator1 keys_last, InputIterator2 values_first, OutputIterator1 keys_output, OutputIterator2 values_output, const std::string &user_code="") |
reduce_by_key performs, on a sequence, a reduction of each sub-sequence as defined by equivalent keys; the BinaryFunction in this version is plus(), and the BinaryPredicate is equal_to(). | |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator1 , typename OutputIterator2 > | |
| pair< OutputIterator1, OutputIterator2 > | bolt::cl::reduce_by_key (InputIterator1 keys_first, InputIterator1 keys_last, InputIterator2 values_first, OutputIterator1 keys_output, OutputIterator2 values_output, const std::string &user_code="") |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator1 , typename OutputIterator2 , typename BinaryPredicate > | |
| pair< OutputIterator1, OutputIterator2 > | bolt::cl::reduce_by_key (control &ctl, InputIterator1 keys_first, InputIterator1 keys_last, InputIterator2 values_first, OutputIterator1 keys_output, OutputIterator2 values_output, BinaryPredicate binary_pred, const std::string &user_code="") |
reduce_by_key performs, on a sequence, a reduction of each sub-sequence as defined by equivalent keys; the BinaryFunction in this version is plus(). reduce_by_key is a generalization of reduce to key-value pairs. If the reduction operator is not commutative then bolt::reduce_by_key should not be used. | |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator1 , typename OutputIterator2 , typename BinaryPredicate > | |
| pair< OutputIterator1, OutputIterator2 > | bolt::cl::reduce_by_key (InputIterator1 keys_first, InputIterator1 keys_last, InputIterator2 values_first, OutputIterator1 keys_output, OutputIterator2 values_output, BinaryPredicate binary_pred, const std::string &user_code="") |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator1 , typename OutputIterator2 , typename BinaryPredicate , typename BinaryFunction > | |
| pair< OutputIterator1, OutputIterator2 > | bolt::cl::reduce_by_key (control &ctl, InputIterator1 keys_first, InputIterator1 keys_last, InputIterator2 values_first, OutputIterator1 keys_output, OutputIterator2 values_output, BinaryPredicate binary_pred, BinaryFunction binary_op, const std::string &user_code="") |
reduce_by_key performs, on a sequence, a reduction of each sub-sequence as defined by equivalent keys; reduce_by_key is a generalization of reduce to key-value pairs. If the reduction operator is not commutative then bolt::reduce_by_key should not be used. | |
| template<typename InputIterator1 , typename InputIterator2 , typename OutputIterator1 , typename OutputIterator2 , typename BinaryPredicate , typename BinaryFunction > | |
| pair< OutputIterator1, OutputIterator2 > | bolt::cl::reduce_by_key (InputIterator1 keys_first, InputIterator1 keys_last, InputIterator2 values_first, OutputIterator1 keys_output, OutputIterator2 values_output, BinaryPredicate binary_pred, BinaryFunction binary_op, const std::string &user_code="") |
Performs on a sequence, a reduction of each sub-sequence as defined by equivalent keys.
1.8.3