fix for group_compare, adding MPI_GROUP_EMPTY as a result for group_intersection/difference/union
This commit was SVN r2562.
Этот коммит содержится в:
родитель
c1ba40c631
Коммит
cfca6e88c1
@ -91,11 +91,11 @@ int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) {
|
|||||||
|
|
||||||
/* set comparison result */
|
/* set comparison result */
|
||||||
if( identical ) {
|
if( identical ) {
|
||||||
*result=MPI_UNEQUAL;
|
*result=MPI_IDENT;
|
||||||
} else if( similar ) {
|
} else if( similar ) {
|
||||||
*result=MPI_SIMILAR;
|
*result=MPI_SIMILAR;
|
||||||
} else {
|
} else {
|
||||||
*result=MPI_IDENT;
|
*result=MPI_UNEQUAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return return_value;
|
return return_value;
|
||||||
|
@ -69,6 +69,12 @@ int MPI_Group_difference(MPI_Group group1, MPI_Group group2,
|
|||||||
new_group_size++;
|
new_group_size++;
|
||||||
} /* end proc loop */
|
} /* end proc loop */
|
||||||
|
|
||||||
|
if ( 0 == new_group_size ) {
|
||||||
|
*new_group = MPI_GROUP_EMPTY;
|
||||||
|
OBJ_RETAIN(MPI_GROUP_EMPTY);
|
||||||
|
return MPI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/* allocate a new ompi_group_t structure */
|
/* allocate a new ompi_group_t structure */
|
||||||
new_group_pointer=ompi_group_allocate(new_group_size);
|
new_group_pointer=ompi_group_allocate(new_group_size);
|
||||||
if( NULL == new_group_pointer ) {
|
if( NULL == new_group_pointer ) {
|
||||||
|
@ -64,6 +64,13 @@ int MPI_Group_intersection(MPI_Group group1, MPI_Group group2,
|
|||||||
} /* end proc2 loop */
|
} /* end proc2 loop */
|
||||||
} /* end proc1 loop */
|
} /* end proc1 loop */
|
||||||
|
|
||||||
|
if ( 0 == group_size ) {
|
||||||
|
*new_group = MPI_GROUP_EMPTY;
|
||||||
|
OBJ_RETAIN(MPI_GROUP_EMPTY);
|
||||||
|
return MPI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* fill in new group */
|
/* fill in new group */
|
||||||
new_group_pointer=ompi_group_allocate(group_size);
|
new_group_pointer=ompi_group_allocate(group_size);
|
||||||
if( NULL == new_group_pointer ) {
|
if( NULL == new_group_pointer ) {
|
||||||
|
@ -72,6 +72,12 @@ int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *new_group)
|
|||||||
new_group_size++;
|
new_group_size++;
|
||||||
} /* end proc loop */
|
} /* end proc loop */
|
||||||
|
|
||||||
|
if ( 0 == new_group_size ) {
|
||||||
|
*new_group = MPI_GROUP_EMPTY;
|
||||||
|
OBJ_RETAIN(MPI_GROUP_EMPTY);
|
||||||
|
return MPI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
/* get new group struct */
|
/* get new group struct */
|
||||||
new_group_pointer = ompi_group_allocate(new_group_size);
|
new_group_pointer = ompi_group_allocate(new_group_size);
|
||||||
if (NULL == new_group_pointer) {
|
if (NULL == new_group_pointer) {
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user