}
}
-int Group::compare(MPI_Group group2) const
+int Group::compare(const Group* group2) const
{
int result;
return incl(static_cast<int>(ranks.size()), ranks.data(), newgroup);
}
-int Group::group_union(MPI_Group group2, MPI_Group* newgroup) const
+int Group::group_union(const Group* group2, MPI_Group* newgroup) const
{
std::vector<int> ranks2;
for (int i = 0; i < group2->size(); i++) {
return MPI_SUCCESS;
}
-int Group::intersection(MPI_Group group2, MPI_Group* newgroup) const
+int Group::intersection(const Group* group2, MPI_Group* newgroup) const
{
std::vector<int> ranks2;
for (int i = 0; i < group2->size(); i++) {
return group2->incl(ranks2, newgroup);
}
-int Group::difference(MPI_Group group2, MPI_Group* newgroup) const
+int Group::difference(const Group* group2, MPI_Group* newgroup) const
{
std::vector<int> ranks;
for (int i = 0; i < size(); i++) {
return (first <= rank && rank <= last) || (first >= rank && rank >= last);
}
-int Group::range_incl(int n, int ranges[][3], MPI_Group* newgroup) const
+int Group::range_incl(int n, const int ranges[][3], MPI_Group* newgroup) const
{
std::vector<int> ranks;
for (int i = 0; i < n; i++) {
return this->incl(ranks, newgroup);
}
-int Group::range_excl(int n, int ranges[][3], MPI_Group* newgroup) const
+int Group::range_excl(int n, const int ranges[][3], MPI_Group* newgroup) const
{
std::vector<bool> to_excl(size(), false);
for (int i = 0; i < n; i++) {