diff --git a/src/utils/Messenger.hpp b/src/utils/Messenger.hpp index 8f9bedf642f199fce42c5d036605f3e7ab4fb09f..09dc1f5ddef2a7be4f47e26dc295ce066a6f5b9d 100644 --- a/src/utils/Messenger.hpp +++ b/src/utils/Messenger.hpp @@ -364,12 +364,8 @@ class Messenger CastType& cast_data = reinterpret_cast<CastType&>(data); _broadcast_value(cast_data, root_rank); } else { -#ifdef PASTIS_HAS_MPI - MPI_Datatype mpi_datatype - = Messenger::helper::mpiType<CastType>(); - MPI_Bcast(reinterpret_cast<CastType*>(&data), sizeof(DataType)/sizeof(CastType), - mpi_datatype, root_rank, MPI_COMM_WORLD); -#endif // PASTIS_HAS_MPI + CastArray cast_array = cast_value_to<CastType>::from(data); + _broadcast_array(cast_array, root_rank); } } else { static_assert(std::is_trivial_v<DataType>,