A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SMPI] Remove local variable sz in smpi_group.cpp
[simgrid.git]
/
src
/
smpi
/
mpi
/
smpi_group.cpp
diff --git
a/src/smpi/mpi/smpi_group.cpp
b/src/smpi/mpi/smpi_group.cpp
index
bd77424
..
89fbf59
100644
(file)
--- a/
src/smpi/mpi/smpi_group.cpp
+++ b/
src/smpi/mpi/smpi_group.cpp
@@
-37,10
+37,6
@@
Group::Group(MPI_Group origin)
}
}
}
}
-Group::~Group()
-{
-}
-
void Group::set_mapping(int index, int rank)
{
if (0 <= rank && rank < size_) {
void Group::set_mapping(int index, int rank)
{
if (0 <= rank && rank < size_) {
@@
-99,8
+95,7
@@
int Group::compare(MPI_Group group2)
if (size_ != group2->size()) {
result = MPI_UNEQUAL;
} else {
if (size_ != group2->size()) {
result = MPI_UNEQUAL;
} else {
- int sz = group2->size();
- for (int i = 0; i < sz; i++) {
+ for (int i = 0; i < size_; i++) {
int index = this->index(i);
int rank = group2->rank(index);
if (rank == MPI_UNDEFINED) {
int index = this->index(i);
int rank = group2->rank(index);
if (rank == MPI_UNDEFINED) {
@@
-238,6
+233,14
@@
int Group::excl(int n, int *ranks, MPI_Group * newgroup){
}
}
+static bool is_rank_in_range(int rank, int first, int last)
+{
+ if (first < last)
+ return rank <= last;
+ else
+ return rank >= last;
+}
+
int Group::range_incl(int n, int ranges[][3], MPI_Group * newgroup){
int newsize = 0;
for (int i = 0; i < n; i++) {
int Group::range_incl(int n, int ranges[][3], MPI_Group * newgroup){
int newsize = 0;
for (int i = 0; i < n; i++) {
@@
-249,13
+252,8
@@
int Group::range_incl(int n, int ranges[][3], MPI_Group * newgroup){
break;
}
rank += ranges[i][2]; /* Stride */
break;
}
rank += ranges[i][2]; /* Stride */
- if (ranges[i][0] < ranges[i][1]) {
- if (rank > ranges[i][1])
- break;
- } else {
- if (rank < ranges[i][1])
- break;
- }
+ if (not is_rank_in_range(rank, ranges[i][0], ranges[i][1]))
+ break;
}
}
*newgroup = new Group(newsize);
}
}
*newgroup = new Group(newsize);
@@
-271,13
+269,8
@@
int Group::range_incl(int n, int ranges[][3], MPI_Group * newgroup){
break;
}
rank += ranges[i][2]; /* Stride */
break;
}
rank += ranges[i][2]; /* Stride */
- if (ranges[i][0] < ranges[i][1]) {
- if (rank > ranges[i][1])
- break;
- } else {
- if (rank < ranges[i][1])
- break;
- }
+ if (not is_rank_in_range(rank, ranges[i][0], ranges[i][1]))
+ break;
}
}
return MPI_SUCCESS;
}
}
return MPI_SUCCESS;
@@
-294,13
+287,8
@@
int Group::range_excl(int n, int ranges[][3], MPI_Group * newgroup){
break;
}
rank += ranges[i][2]; /* Stride */
break;
}
rank += ranges[i][2]; /* Stride */
- if (ranges[i][0] < ranges[i][1]) {
- if (rank > ranges[i][1])
- break;
- } else {
- if (rank < ranges[i][1])
- break;
- }
+ if (not is_rank_in_range(rank, ranges[i][0], ranges[i][1]))
+ break;
}
}
if (newsize == 0) {
}
}
if (newsize == 0) {
@@
-321,13
+309,8
@@
int Group::range_excl(int n, int ranges[][3], MPI_Group * newgroup){
break;
}
rank += ranges[i][2]; /* Stride */
break;
}
rank += ranges[i][2]; /* Stride */
- if (ranges[i][0]<ranges[i][1]){
- if (rank > ranges[i][1])
- break;
- }else{
- if (rank < ranges[i][1])
- break;
- }
+ if (not is_rank_in_range(rank, ranges[i][0], ranges[i][1]))
+ break;
}
}
if(add==1){
}
}
if(add==1){