Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[SMPI] Replay: Remove side effect from decode_datatype
[simgrid.git] / src / smpi / internals / smpi_replay.cpp
index b3e2fc6..9e6883d 100644 (file)
 #include <unordered_map>
 #include <vector>
 
-#define KEY_SIZE (sizeof(int) * 2 + 1)
-
 using simgrid::s4u::Actor;
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_replay,smpi,"Trace Replay with SMPI");
 
-int communicator_size = 0;
-static int active_processes = 0;
-std::unordered_map<int,std::vector<MPI_Request>*> reqq;
+static int communicator_size = 0;
+static int active_processes  = 0;
+static std::unordered_map<int, std::vector<MPI_Request>*> reqq;
 
-MPI_Datatype MPI_DEFAULT_TYPE;
-MPI_Datatype MPI_CURRENT_TYPE;
+static MPI_Datatype MPI_DEFAULT_TYPE;
+static MPI_Datatype MPI_CURRENT_TYPE;
 
-static int sendbuffer_size=0;
-char* sendbuffer=nullptr;
-static int recvbuffer_size=0;
-char* recvbuffer=nullptr;
+static int sendbuffer_size = 0;
+static char* sendbuffer    = nullptr;
+static int recvbuffer_size = 0;
+static char* recvbuffer    = nullptr;
 
 static void log_timed_action (const char *const *action, double clock){
   if (XBT_LOG_ISENABLED(smpi_replay, xbt_log_priority_verbose)){
@@ -95,31 +93,30 @@ static MPI_Datatype decode_datatype(const char *const action)
 {
   switch(atoi(action)) {
     case 0:
-      MPI_CURRENT_TYPE=MPI_DOUBLE;
+      return MPI_DOUBLE;
       break;
     case 1:
-      MPI_CURRENT_TYPE=MPI_INT;
+      return MPI_INT;
       break;
     case 2:
-      MPI_CURRENT_TYPE=MPI_CHAR;
+      return MPI_CHAR;
       break;
     case 3:
-      MPI_CURRENT_TYPE=MPI_SHORT;
+      return MPI_SHORT;
       break;
     case 4:
-      MPI_CURRENT_TYPE=MPI_LONG;
+      return MPI_LONG;
       break;
     case 5:
-      MPI_CURRENT_TYPE=MPI_FLOAT;
+      return MPI_FLOAT;
       break;
     case 6:
-      MPI_CURRENT_TYPE=MPI_BYTE;
+      return MPI_BYTE;
       break;
     default:
-      MPI_CURRENT_TYPE=MPI_DEFAULT_TYPE;
+      return MPI_DEFAULT_TYPE;
       break;
   }
-   return MPI_CURRENT_TYPE;
 }
 
 const char* encode_datatype(MPI_Datatype datatype)