Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use C++ types instead of c-style arrays.
[simgrid.git] / examples / smpi / smpi_s4u_masterworker / masterworker_mailbox_smpi.cpp
index 6ed9f33..c81e697 100644 (file)
@@ -6,7 +6,8 @@
 #include "mpi.h"
 #include "simgrid/s4u.hpp"
 
-#include <stdio.h> /* snprintf */
+#include <array>
+#include <cstdio> /* snprintf */
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(msg_test, "Messages specific for this msg example");
 
@@ -50,7 +51,7 @@ static void worker(std::vector<std::string> args)
 
   double compute_cost;
   do {
-    const double* msg = static_cast<double*>(mailbox->get());
+    const auto* msg   = static_cast<double*>(mailbox->get());
     compute_cost      = *msg;
     delete msg;
 
@@ -68,11 +69,11 @@ static void master_mpi(int argc, char* argv[])
   int rank;
   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
   XBT_INFO("here for rank %d", rank);
-  int test[1000] = {rank};
+  std::array<int, 1000> test{{rank}};
   if (rank == 0)
-    MPI_Send(&test, 1000, MPI_INT, 1, 1, MPI_COMM_WORLD);
+    MPI_Send(test.data(), 1000, MPI_INT, 1, 1, MPI_COMM_WORLD);
   else
-    MPI_Recv(&test, 1000, MPI_INT, 0, 1, MPI_COMM_WORLD, MPI_STATUSES_IGNORE);
+    MPI_Recv(test.data(), 1000, MPI_INT, 0, 1, MPI_COMM_WORLD, MPI_STATUSES_IGNORE);
 
   XBT_INFO("After comm %d", rank);
   MPI_Finalize();