X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/093b834960aa7457d220feacad9542c4606ed8a0..f71596a340a9773370970ad85259dfac728868a3:/src/smpi/mpi/smpi_group.cpp?ds=sidebyside diff --git a/src/smpi/mpi/smpi_group.cpp b/src/smpi/mpi/smpi_group.cpp index 232076857d..6f837af73e 100644 --- a/src/smpi/mpi/smpi_group.cpp +++ b/src/smpi/mpi/smpi_group.cpp @@ -3,8 +3,10 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "smpi_comm.hpp" #include "smpi_group.hpp" +#include "smpi_comm.hpp" +#include +#include XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_group, smpi, "Logging specific to SMPI (group)"); @@ -39,7 +41,7 @@ Group::Group(MPI_Group origin) rank_to_index_map_[i] = origin->rank_to_index_map_[i]; } - for (auto elm : origin->index_to_rank_map_) { + for (auto const& elm : origin->index_to_rank_map_) { index_to_rank_map_.insert({elm.first, elm.second}); } } @@ -127,10 +129,8 @@ int Group::incl(int n, int* ranks, MPI_Group* newgroup) *newgroup = MPI_GROUP_EMPTY; } else if (n == size_) { *newgroup = this; - if(this!= MPI_COMM_WORLD->group() - && this != MPI_COMM_SELF->group() - && this != MPI_GROUP_EMPTY) - this->ref(); + if (this != MPI_COMM_WORLD->group() && this != MPI_COMM_SELF->group() && this != MPI_GROUP_EMPTY) + this->ref(); } else { *newgroup = new Group(n); for (i = 0; i < n; i++) { @@ -226,7 +226,7 @@ int Group::excl(int n, int *ranks, MPI_Group * newgroup){ int oldsize = size_; int newsize = oldsize - n; *newgroup = new Group(newsize); - int* to_exclude=xbt_new0(int, size_); + int* to_exclude = new int[size_]; for (int i = 0; i < oldsize; i++) to_exclude[i]=0; for (int i = 0; i < n; i++) @@ -239,7 +239,7 @@ int Group::excl(int n, int *ranks, MPI_Group * newgroup){ j++; } } - xbt_free(to_exclude); + delete[] to_exclude; return MPI_SUCCESS; }