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

Function accumulate

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 accumulate

boost::compute::accumulate

Synopsis

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

template<typename InputIterator, typename T, typename BinaryFunction> 
  T accumulate(InputIterator first, InputIterator last, T init, 
               BinaryFunction function, 
               command_queue & queue = system::default_queue());
template<typename InputIterator, typename T> 
  T accumulate(InputIterator first, InputIterator last, T init, 
               command_queue & queue = system::default_queue());

Description

Возвращает результат применения<function>к элементам в диапазоне [<first>,<last>и<init>].

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

В определенных ситуациях вызов<accumulate()>может быть автоматически оптимизирован для вызова более эффективного алгоритма<reduce()>. Это происходит, когда функция бинарного восстановления распознается как ассоциативная (например, функция<plus<int>>).

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

Например:

// with vec = boost::compute::vector<int>
accumulate(vec.begin(), vec.end(), 0, plus<int>());   // fast
reduce(vec.begin(), vec.end(), &result, plus<int>()); // fast
// with vec = boost::compute::vector<float>
accumulate(vec.begin(), vec.end(), 0, plus<float>());   // slow
reduce(vec.begin(), vec.end(), &result, plus<float>()); // fast

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

уменьшить()

Параметры:

first

Первый элемент в входном диапазоне

<function>

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

<init>

Начальное значение

<last>

последний элемент во входном диапазоне

<queue>

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

Возвращение:

накопленное значение результата


PrevUpHomeNext

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 07:40:03/0.0058159828186035/0