Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Function reduce_by_key

Boost , Chapter 1. Boost.Compute , Reference

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Function reduce_by_key

boost::compute::reduce_by_key

Synopsis

// In header: <boost/compute/algorithm/reduce_by_key.hpp>

template<typename InputKeyIterator, typename InputValueIterator, 
         typename OutputKeyIterator, typename OutputValueIterator, 
         typename BinaryFunction, typename BinaryPredicate> 
  std::pair< OutputKeyIterator, OutputValueIterator > 
  reduce_by_key(InputKeyIterator keys_first, InputKeyIterator keys_last, 
                InputValueIterator values_first, 
                OutputKeyIterator keys_result, 
                OutputValueIterator values_result, BinaryFunction function, 
                BinaryPredicate predicate, 
                command_queue & queue = system::default_queue());
template<typename InputKeyIterator, typename InputValueIterator, 
         typename OutputKeyIterator, typename OutputValueIterator, 
         typename BinaryFunction> 
  std::pair< OutputKeyIterator, OutputValueIterator > 
  reduce_by_key(InputKeyIterator keys_first, InputKeyIterator keys_last, 
                InputValueIterator values_first, 
                OutputKeyIterator keys_result, 
                OutputValueIterator values_result, BinaryFunction function, 
                command_queue & queue = system::default_queue());
template<typename InputKeyIterator, typename InputValueIterator, 
         typename OutputKeyIterator, typename OutputValueIterator> 
  std::pair< OutputKeyIterator, OutputValueIterator > 
  reduce_by_key(InputKeyIterator keys_first, InputKeyIterator keys_last, 
                InputValueIterator values_first, 
                OutputKeyIterator keys_result, 
                OutputValueIterator values_result, 
                command_queue & queue = system::default_queue());

Description

Алгоритм<reduce_by_key()>выполняет уменьшение для каждой смежной последовательности значений, определяемых эквивалентными ключами.

Возвращает пару итераторов в конце диапазонов [<keys_result>, keys_result_last] и [<values_result>,<values_result_last>].

Если функция не указана, то используется<plus>. Если не указан предикат, то используется<equal_to>.

Алгоритм<reduce_by_key()>предполагает, что функция бинарного восстановления ассоциативна. При использовании с неассоциативными функциями результат может быть недетерминированным и отличаться точностью. Примечательно, что это влияет на функцию<plus<float>()>, поскольку сложение с плавающей точкой не является ассоциативным и может давать немного другие результаты, чем последовательный алгоритм.

Например, для расчета суммы значений для каждого ключа:

Смотрите также:

уменьшить()

Параметры:

<function>

функция бинарного восстановления

<keys_first>

Первый ключ

<keys_last>

Последний ключ

<keys_result>

итератор, указывающий на выход ключа

<predicate>

Бинарный предикат, который возвращается истинным только в том случае, если два ключа равны

<queue>

командная очередь для выполнения операции

<values_first>

Первое входное значение

<values_result>

итератор, указывающий на снижение выходной стоимости


PrevUpHomeNext

Статья Function reduce_by_key раздела Chapter 1. Boost.Compute Reference может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Reference ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 15:09:09/0.0038058757781982/0