1#ifndef _RHEO_DIS_ACCUMULATE_H
2#define _RHEO_DIS_ACCUMULATE_H
24#include "rheolef/promote.h"
25#include "rheolef/communicator.h"
59template <
class InputIterator,
class Size>
60typename std::iterator_traits<InputIterator>::value_type
67 typedef typename std::iterator_traits<InputIterator>::value_type
T;
69 for (Size i = 0; i < n; ++i, ++first) {
74#ifdef _RHEOLEF_HAVE_MPI
75template <
class InputIterator,
class Size>
77typename std::iterator_traits<InputIterator>::value_type
84 typedef typename std::iterator_traits<InputIterator>::value_type
T;
86 return mpi::all_reduce (comm, local_sum, std::plus<T>());
90template <
class InputIterator,
class Size>
92typename std::iterator_traits<InputIterator>::value_type
communicator communicator_type
#define rheo_default_memory_model
This file is part of Rheolef.
std::iterator_traits< InputIterator >::value_type dis_accumulate(InputIterator first, Size n, const distributor::communicator_type &comm, sequential)