From c7e662a954bead9ff6edec4a83a0599a44edd769 Mon Sep 17 00:00:00 2001 From: David Wells Date: Mon, 23 May 2022 12:57:38 -0400 Subject: [PATCH] Add some missing MPI boolean instantiations. --- source/base/mpi.cc | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/source/base/mpi.cc b/source/base/mpi.cc index aa582c6bf9..12e2f1ff4e 100644 --- a/source/base/mpi.cc +++ b/source/base/mpi.cc @@ -1197,6 +1197,42 @@ namespace Utilities #ifndef DOXYGEN // explicit instantiations + + // booleans aren't in MPI_SCALARS + template bool + reduce(const bool &, + const MPI_Comm &, + const std::function &, + const unsigned int); + + template std::vector + reduce(const std::vector &, + const MPI_Comm &, + const std::function(const std::vector &, + const std::vector &)> &, + const unsigned int); + + template bool + all_reduce(const bool &, + const MPI_Comm &, + const std::function &); + + template std::vector + all_reduce( + const std::vector &, + const MPI_Comm &, + const std::function(const std::vector &, + const std::vector &)> &); + + // We need an explicit instantiation of this for the same reason as the + // other types described in mpi.inst.in + template void + internal::all_reduce(const MPI_Op &, + const ArrayView &, + const MPI_Comm &, + const ArrayView &); + + template bool logical_or(const bool &, const MPI_Comm &); -- 2.39.5