Esempio n. 1
0
int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status)
{
    int err;
    ALLOCATE_STATUS(newstatus,1)
    err=PMPI_Iprobe(source,tag,comm,flag,newstatus);
    COPY_STATUS(status,newstatus,1)
    return err;
}
Esempio n. 2
0
void ompi_iprobe_f(MPI_Fint *source, MPI_Fint *tag, MPI_Fint *comm,
                  ompi_fortran_logical_t *flag, MPI_Fint *status, MPI_Fint *ierr)
{
    int c_ierr;
    MPI_Comm c_comm;
    OMPI_FORTRAN_STATUS_DECLARATION(c_status,c_status2)
    OMPI_LOGICAL_NAME_DECL(flag);

    c_comm = PMPI_Comm_f2c (*comm);

    OMPI_FORTRAN_STATUS_SET_POINTER(c_status,c_status2,status)

    c_ierr = PMPI_Iprobe(OMPI_FINT_2_INT(*source),
                        OMPI_FINT_2_INT(*tag),
                        c_comm, OMPI_LOGICAL_SINGLE_NAME_CONVERT(flag),
                        c_status);
    if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);

    if (MPI_SUCCESS == c_ierr) {
        OMPI_SINGLE_INT_2_LOGICAL(flag);
        OMPI_FORTRAN_STATUS_RETURN(c_status,c_status2,status,c_ierr)
    }
Esempio n. 3
0
int MPI_Iprobe(int source, int tag, MPI_Comm comm, int* flag, MPI_Status* status) {
  return PMPI_Iprobe(source, tag, comm, flag, status);
}