diff --git a/src/communication/mpi_global_policy.hpp b/src/communication/mpi_global_policy.hpp index 0e9ec33370695990e2e2fa0d8d03d4a1e8b26c26..744e5d608d94ae9bcea9ee57920d8966bad3c14c 100644 --- a/src/communication/mpi_global_policy.hpp +++ b/src/communication/mpi_global_policy.hpp @@ -38,6 +38,11 @@ struct mpi_global_policy { return nest::mc::mpi::reduce(value, MPI_MAX); } + template <typename T> + static T sum(T value) { + return nest::mc::mpi::reduce(value, MPI_SUM); + } + template < typename T, typename = typename std::enable_if<std::is_integral<T>::value> diff --git a/src/communication/serial_global_policy.hpp b/src/communication/serial_global_policy.hpp index 9af5eae3fd0dd84be71cb6346018c607fa9ab3df..113987698ee85deb62f8f88148811dee674f1ced 100644 --- a/src/communication/serial_global_policy.hpp +++ b/src/communication/serial_global_policy.hpp @@ -35,6 +35,11 @@ struct serial_global_policy { return value; } + template <typename T> + static T sum(T value) { + return value; + } + template < typename T, typename = typename std::enable_if<std::is_integral<T>::value>