Skip to content
Snippets Groups Projects
Commit f8b39f8a authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Change signature of broadcast operations. Value is modified in-place.

parent 83e9fc66
No related branches found
No related tags found
1 merge request!11Feature/mpi
......@@ -258,11 +258,10 @@ class Messenger
template <typename DataType>
PASTIS_INLINE
DataType broadcast(const DataType& data, int root_rank) const
void broadcast(DataType& data, int root_rank) const
{
if constexpr(std::is_same<DataType, int>()) {
int int_data = data;
return _broadcast_value(int_data, root_rank);
return _broadcast_value(data, root_rank);
} else {
static_assert(std::is_same<DataType, int>(), "unexpected type of data");
}
......@@ -270,7 +269,7 @@ class Messenger
template <typename DataType>
PASTIS_INLINE
Array<DataType> broadcast(const Array<DataType>& array, int root_rank) const
void broadcast(Array<DataType>& array, int root_rank) const
{
static_assert(not std::is_const_v<DataType>,
"cannot broadcast array of const");
......@@ -295,7 +294,6 @@ class Messenger
static_assert(std::is_trivial_v<DataType>,
"unexpected non trivial type of data");
}
return array;
}
template <typename SendDataType,
......@@ -375,9 +373,9 @@ allToAll(const Array<DataType>& array)
template <typename DataType>
PASTIS_INLINE
Array<DataType> broadcast(const Array<DataType>& array, int root_rank)
void broadcast(Array<DataType>& array, int root_rank)
{
return messenger().broadcast(array, root_rank);
messenger().broadcast(array, root_rank);
}
template <typename SendDataType,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment