MPI_Group_intersection(3)          Open MPI          MPI_Group_intersection(3)



NAME
       MPI_Group_intersection  - Produces a group at the intersection of two
       existing groups.


SYNTAX
C Syntax
       #include <mpi.h>
       int MPI_Group_intersection(MPI_Group group1, MPI_Group group2,
            MPI_Group *newgroup)


Fortran Syntax
       INCLUDE 'mpif.h'
       MPI_GROUP_INTERSECTION(GROUP1, GROUP2, NEWGROUP, IERROR)
            INTEGER   GROUP1, GROUP2, NEWGROUP, IERROR


C++ Syntax
       #include <mpi.h>
       static Group Group::Intersect(const Group& group1, const Group& group2)


INPUT PARAMETERS
       group1    First group (handle).

       group2    Second group (handle).


OUTPUT PARAMETERS
       newgroup  Intersection group (handle).

       IERROR    Fortran only: Error status (integer).


DESCRIPTION
       The set-like operations are defined as follows:

         o    union -- All elements of the first group (group1), followed by
              all elements of second group (group2) not in first.

         o    intersect -- all elements of the first group that are also in
              the second group, ordered as in first group.

         o    difference -- all elements of the first group that are not in
              the second group, ordered as in the first group.

       Note that for these operations the order of processes in the output
       group is determined primarily by order in the first group (if possible)
       and then, if necessary, by order in the second group. Neither union nor
       intersection are commutative, but both are associative.

       The new group can be empty, that is, equal to MPI_GROUP_EMPTY.


ERRORS
       Almost all MPI routines return an error value; C routines as the value
       of the function and Fortran routines in the last argument. C++
       functions do not return errors. If the default error handler is set to
       MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
       will be used to throw an MPI:Exception object.

       Before the error value is returned, the current MPI error handler is
       called. By default, this error handler aborts the MPI job, except for
       I/O function errors. The error handler may be changed with
       MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
       may be used to cause error values to be returned. Note that MPI does
       not guarantee that an MPI program can continue past an error.


SEE ALSO
       MPI_Group_free





1.4.1                            Jan 14, 2010        MPI_Group_intersection(3)
