diff --git a/src/mesh/GmshReader.cpp b/src/mesh/GmshReader.cpp index d4167505e7209e8218ca5600eaea12f58c980f09..4230ea5319f4ddc0208c52eacb67a9942af5adc6 100644 --- a/src/mesh/GmshReader.cpp +++ b/src/mesh/GmshReader.cpp @@ -261,10 +261,10 @@ void GmshReader::_dispatch() std::vector<Array<CellType>> recv_cell_type_by_proc = dispatcher.exchange(mesh.connectivity().cellType()); - for (int i_rank=0; i_rank < parallel::size(); ++i_rank) { + for (size_t i_rank=0; i_rank < parallel::size(); ++i_rank) { if (parallel::rank() == i_rank) { std::cout << "----- rank=" << i_rank << " -----\n"; - for (int j_rank=0; j_rank < parallel::size(); ++j_rank) { + for (size_t j_rank=0; j_rank < parallel::size(); ++j_rank) { std::cout << "recv from " << j_rank << ':'; for (size_t i=0; i<recv_cell_number_by_proc[j_rank].size(); ++i) { std::cout << ' ' << recv_cell_number_by_proc[j_rank][i] << '[' << name(recv_cell_type_by_proc[j_rank][i])<< "]:" << recv_cell_center_by_proc[j_rank][i]; diff --git a/src/utils/Messenger.hpp b/src/utils/Messenger.hpp index 1702d8642868e570b56ca3621c1efb01e9240659..22b89f34ef69df394ab8ea825eda2f8cddf0d0d1 100644 --- a/src/utils/Messenger.hpp +++ b/src/utils/Messenger.hpp @@ -134,7 +134,7 @@ class Messenger } template <typename DataType> - void _broadcast_value(DataType& data, int root_rank) const + void _broadcast_value(DataType& data, const size_t& root_rank) const { static_assert(not std::is_const_v<DataType>); static_assert(std::is_arithmetic_v<DataType>); @@ -148,7 +148,7 @@ class Messenger } template <typename ArrayType> - void _broadcast_array(ArrayType& array, int root_rank) const + void _broadcast_array(ArrayType& array, const size_t& root_rank) const { using DataType = typename ArrayType::data_type; static_assert(not std::is_const_v<DataType>); @@ -177,7 +177,7 @@ class Messenger Assert((sent_array.size() % m_size) == 0); // LCOV_EXCL_LINE Assert(sent_array.size() == recv_array.size()); // LCOV_EXCL_LINE - const int count = sent_array.size()/m_size; + const size_t count = sent_array.size()/m_size; MPI_Datatype mpi_datatype = Messenger::helper::mpiType<SendDataType>(); @@ -404,7 +404,7 @@ class Messenger template <typename DataType> PASTIS_INLINE - void broadcast(DataType& data, int root_rank) const + void broadcast(DataType& data, const size_t& root_rank) const { static_assert(not std::is_const_v<DataType>, "cannot broadcast const data"); @@ -427,19 +427,20 @@ class Messenger template <typename DataType> PASTIS_INLINE - void broadcast(Array<DataType>& array, int root_rank) const + void broadcast(Array<DataType>& array, + const size_t& root_rank) const { static_assert(not std::is_const_v<DataType>, "cannot broadcast array of const"); if constexpr(std::is_arithmetic_v<DataType>) { - int size = array.size(); + size_t size = array.size(); _broadcast_value(size, root_rank); if (m_rank != root_rank) { array = Array<DataType>(size); // LCOV_EXCL_LINE } _broadcast_array(array, root_rank); } else if constexpr(std::is_trivial_v<DataType>) { - int size = array.size(); + size_t size = array.size(); _broadcast_value(size, root_rank); if (m_rank != root_rank) { array = Array<DataType>(size); // LCOV_EXCL_LINE @@ -560,14 +561,14 @@ allToAll(const Array<DataType>& array) template <typename DataType> PASTIS_INLINE -void broadcast(DataType& data, int root_rank) +void broadcast(DataType& data, const size_t& root_rank) { messenger().broadcast(data, root_rank); } template <typename DataType> PASTIS_INLINE -void broadcast(Array<DataType>& array, int root_rank) +void broadcast(Array<DataType>& array, const size_t& root_rank) { messenger().broadcast(array, root_rank); } diff --git a/tests/mpi_test_Messenger.cpp b/tests/mpi_test_Messenger.cpp index ecad3949c1b25350d7b966f31ae45917ba03947f..4366aabe9b8f3c922315c187ef60602b5936344a 100644 --- a/tests/mpi_test_Messenger.cpp +++ b/tests/mpi_test_Messenger.cpp @@ -229,7 +229,8 @@ TEST_CASE("Messenger", "[mpi]") { REQUIRE(gather_array.size() == parallel::size()); for (size_t i=0; i<gather_array.size(); ++i) { - REQUIRE((gather_array[i] == (3+i)*2)); + const int expected_value = (3+i)*2; + REQUIRE(gather_array[i] == expected_value); } } @@ -262,7 +263,8 @@ TEST_CASE("Messenger", "[mpi]") { REQUIRE(gather_array.size() == array.size()*parallel::size()); for (size_t i=0; i<gather_array.size(); ++i) { - REQUIRE((gather_array[i] == (3+i/array.size())*2+(i%array.size()))); + const int expected_value = (3+i/array.size())*2+(i%array.size()); + REQUIRE((gather_array[i] == expected_value)); } } @@ -276,7 +278,8 @@ TEST_CASE("Messenger", "[mpi]") { REQUIRE(gather_array.size() == array.size()*parallel::size()); for (size_t i=0; i<gather_array.size(); ++i) { - REQUIRE((gather_array[i] == (3+i/array.size())*2+(i%array.size()))); + const int expected_value = (3+i/array.size())*2+(i%array.size()); + REQUIRE((gather_array[i] == expected_value)); } }