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>до конца диапазона результатов |