75int MPI_Guard::reduce(
const std::vector<std::tuple<kids_dtype, void*, void*, std::size_t>>& info_list) {
77 void * from_data, *to_data;
79 for (
auto&& info : info_list) {
80 std::tie(dtype, from_data, to_data, ndata) = info;
84 ndata, MPI::INT, MPI_SUM, 0, MPI_COMM_WORLD);
89 ndata, MPI::DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD);
94 ndata, MPI::DOUBLE_COMPLEX, MPI_SUM, 0, MPI_COMM_WORLD);
107 auto [dtype, from_data, to_data, ndata] = info;
111 ndata, MPI::INT, MPI_SUM, 0, MPI_COMM_WORLD);
116 ndata, MPI::DOUBLE_PRECISION, MPI_SUM, 0, MPI_COMM_WORLD);
121 ndata, MPI::DOUBLE_COMPLEX, MPI_SUM, 0, MPI_COMM_WORLD);