Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Sonar: have a single return.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Fri, 20 Apr 2018 10:09:28 +0000 (12:09 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Mon, 23 Apr 2018 07:09:46 +0000 (09:09 +0200)
src/smpi/mpi/smpi_win.cpp

index 39d4756..c082e48 100644 (file)
@@ -721,28 +721,22 @@ int Win::finish_comms(int rank){
   return size;
 }
 
-
-int Win::shared_query(int rank, MPI_Aint* size, int* disp_unit, void* baseptr){
-
-  if(rank!=MPI_PROC_NULL){
-    MPI_Win target_win = connected_wins_[rank];
-    *size=target_win->size_;
-    *disp_unit=target_win->disp_unit_;
-    *static_cast<void**>(baseptr)=target_win->base_;
-  }else{
-    for(int i=0; i<comm_->size();i++){
-      MPI_Win target_win = connected_wins_[i];
-      if(target_win->size_>0){
-        *size=target_win->size_;
-        *disp_unit=target_win->disp_unit_;
-        *static_cast<void**>(baseptr)=target_win->base_;
-        return MPI_SUCCESS;
-      }
-    }
-    *size=0;
-    *static_cast<void**>(baseptr)=xbt_malloc(0);
+int Win::shared_query(int rank, MPI_Aint* size, int* disp_unit, void* baseptr)
+{
+  MPI_Win target_win = rank != MPI_PROC_NULL ? connected_wins_[rank] : nullptr;
+  for (int i = 0; not target_win && i < comm_->size(); i++) {
+    if (connected_wins_[i]->size_ > 0)
+      target_win = connected_wins_[i];
   }
-  return MPI_SUCCESS;
+  if (target_win) {
+    *size                         = target_win->size_;
+    *disp_unit                    = target_win->disp_unit_;
+    *static_cast<void**>(baseptr) = target_win->base_;
+  } else {
+    *size                         = 0;
+    *static_cast<void**>(baseptr) = xbt_malloc(0);
   }
+  return MPI_SUCCESS;
+}
 }
 }