Function exclusive_scan
boost::compute::exclusive_scan
Synopsis
template<typename InputIterator, typename OutputIterator, typename T,
typename BinaryOperator>
OutputIterator
exclusive_scan(InputIterator first, InputIterator last,
OutputIterator result, T init, BinaryOperator binary_op,
command_queue & queue = system::default_queue());
template<typename InputIterator, typename OutputIterator, typename T>
OutputIterator
exclusive_scan(InputIterator first, InputIterator last,
OutputIterator result, T init,
command_queue & queue = system::default_queue());
template<typename InputIterator, typename OutputIterator>
OutputIterator
exclusive_scan(InputIterator first, InputIterator last,
OutputIterator result,
command_queue & queue = system::default_queue());
Description
Выполняет эксклюзивное сканирование элементов в диапазоне<first
>,<last
>и сохраняет результаты в диапазоне, начинающемся с<result
>.
Каждый элемент на выходе присваивается сумме всех предыдущих значений на входе.
Операция по умолчанию заключается в добавлении элементов.
Но вместо этого могут быть определены различные ассоциативные операции как<binary_op
>(например, умножение, максимум, минимум). Также может быть указано значение, используемое для инициализации последовательности сканирования.
См. также:
inclusive_scan()
Параметры: | binary_op
| Ассоциативный двоичный оператор | <first > | Первый элемент в диапазоне для сканирования | <init > | значение, используемое для инициализации последовательности сканирования | <last > | последний элемент в диапазоне для сканирования | <queue > | командная очередь для выполнения операции | <result > | Первый элемент в диапазоне результатов |
|
Возвращение: | <OutputIterator >до конца диапазона результатов |