Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add finalizing state for smpi actor:
[simgrid.git] / src / smpi / include / smpi_file.hpp
index 10eaf26c088a4796b7cd584fe27dbf547e589e03..3d1384b896cec7b03d1b741c6676bc3d94ecc857 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (c) 2010-2021. The SimGrid Team.
+/* Copyright (c) 2010-2022. The SimGrid Team.
  * All rights reserved.                                                     */
 
 /* This program is free software; you can redistribute it and/or modify it
@@ -150,8 +150,7 @@ int File::op_all(void* buf, int count, const Datatype* datatype, MPI_Status* sta
   chunks.push_back(ranges[0]);
 
   unsigned int nchunks = 0;
-  unsigned int i       = 1;
-  while (i < ranges.size()) {
+  for (unsigned i = 1; i < ranges.size(); i++) {
     if (ranges[i].second > chunks[nchunks].second) {
       // else range included - ignore
       if (ranges[i].first > chunks[nchunks].second) {
@@ -163,17 +162,16 @@ int File::op_all(void* buf, int count, const Datatype* datatype, MPI_Status* sta
         chunks[nchunks].second = ranges[i].second;
       }
     }
-    i++;
   }
   // what do I need to read ?
   MPI_Offset totreads = 0;
-  for (i = 0; i < chunks.size(); i++) {
-    if (chunks[i].second < my_chunk_start)
+  for (auto const& chunk : chunks) {
+    if (chunk.second < my_chunk_start)
       continue;
-    else if (chunks[i].first > my_chunk_end)
+    else if (chunk.first > my_chunk_end)
       continue;
     else
-      totreads += (std::min(chunks[i].second, my_chunk_end - 1) - std::max(chunks[i].first, my_chunk_start));
+      totreads += (std::min(chunk.second, my_chunk_end - 1) - std::max(chunk.first, my_chunk_start));
   }
   XBT_CDEBUG(smpi_pmpi, "will have to access %lld from my chunk", totreads);