Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Simplify a bit smpi_sample_* functions.
[simgrid.git] / src / smpi / internals / smpi_global.cpp
index 405d985..ced6d29 100644 (file)
@@ -134,14 +134,14 @@ void smpi_comm_set_copy_data_callback(void (*callback) (smx_activity_t, void*, s
 
 static void memcpy_private(void* dest, const void* src, const std::vector<std::pair<size_t, size_t>>& private_blocks)
 {
-  for (auto const& block : private_blocks)
-    memcpy((uint8_t*)dest+block.first, (uint8_t*)src+block.first, block.second-block.first);
+  for (auto const& [block_begin, block_end] : private_blocks)
+    memcpy((uint8_t*)dest + block_begin, (uint8_t*)src + block_begin, block_end - block_begin);
 }
 
 static void check_blocks(const std::vector<std::pair<size_t, size_t>>& private_blocks, size_t buff_size)
 {
-  for (auto const& block : private_blocks)
-    xbt_assert(block.first <= block.second && block.second <= buff_size, "Oops, bug in shared malloc.");
+  for (auto const& [block_begin, block_end] : private_blocks)
+    xbt_assert(block_begin <= block_end && block_end <= buff_size, "Oops, bug in shared malloc.");
 }
 
 static void smpi_cleanup_comm_after_copy(simgrid::kernel::activity::CommImpl* comm, void* buff){
@@ -325,16 +325,14 @@ static int smpi_run_entry_point(const F& entry_point, const std::string& executa
 
 static smpi_entry_point_type smpi_resolve_function(void* handle)
 {
-  auto* entry_point_fortran = reinterpret_cast<smpi_fortran_entry_point_type>(dlsym(handle, "user_main_"));
-  if (entry_point_fortran != nullptr) {
+  if (auto* entry_point_fortran = reinterpret_cast<smpi_fortran_entry_point_type>(dlsym(handle, "user_main_"))) {
     return [entry_point_fortran](int, char**) {
       entry_point_fortran();
       return 0;
     };
   }
 
-  auto* entry_point = reinterpret_cast<smpi_c_entry_point_type>(dlsym(handle, "main"));
-  if (entry_point != nullptr) {
+  if (auto* entry_point = reinterpret_cast<smpi_c_entry_point_type>(dlsym(handle, "main"))) {
     return entry_point;
   }
 
@@ -389,11 +387,11 @@ static int visit_libs(struct dl_phdr_info* info, size_t, void* data)
 {
   auto* libname    = static_cast<std::string*>(data);
   std::string path = info->dlpi_name;
-  if (path.find(*libname) != std::string::npos) {
-    *libname = std::move(path);
-    return 1;
-  }
-  return 0;
+  if (path.find(*libname) == std::string::npos)
+    return 0;
+
+  *libname = std::move(path);
+  return 1;
 }
 #endif