Open MPI logo

MPI_Status_f2f08(3) man page (version 5.0.0rc2)

  |   Home   |   Support   |   FAQ   |  

« Return to documentation listing

Table of Contents

Name

MPI_Status_f082f, MPI_Status_c2f08 - Translates a Fortran 2008 status into a Fortran INTEGER-style status, or vice versa.

Syntax

C Syntax



C]#include <mpi.h>int MPI_Status_f082f(const MPI_F08_status *f08_status, MPI_Fint *f_status)int MPI_Status_f2f08(const MPI_Fint *f_status, MPI_F08_status *f08_status)R]Fortran mpi Module Syntax



C]USE MPIMPI_STATUS_F082F(F08_STATUS, F_STATUS, IERROR) TYPE(MPI_Status) :: F08_STATUS INTEGER :: STATUS(MPI_STATUS_SIZE), IERRORMPI_STATUS_F2F08(F_STATUS, F08_STATUS, IERROR) INTEGER :: F_STATUS(MPI_STATUS_SIZE), IERROR TYPE(MPI_Status) :: F08_STATUSR]Fortran mpi_f08 Module Syntax



C]USE mpi_f08MPI_Status_f082f(f08_status, f_status, ierror) TYPE(MPI_Status), INTENT(IN) :: f08_status INTEGER, INTENT(OUT) :: f_status(MPI_STATUS_SIZE) INTEGER, OPTIONAL, INTENT(OUT) :: ierrorMPI_Status_f2f08(f_status, f08_status, ierror) INTEGER, INTENT(IN) :: f_status(MPI_STATUS_SIZE) TYPE(MPI_Status), INTENT(OUT) :: f08_status INTEGER, OPTIONAL, INTENT(OUT) :: ierrorR]Parameters

[bu]
C]f08_statusR]: C]mpi_f08R]-style MPI status object
[bu]
C]f_statusR]: C]mpiR]-style C]INTEGERR] MPI status object

Description

These two procedures are provided to convert from a Fortran 2008 status (which is a derived datatype made of integers) to a Fortran status (which is an array of integers), and vice versa. The conversion occurs on all the information in C]statusR], including that which is hidden. That is, no status information is lost in the conversion.

When using C]MPI_Status_f082f()R], if C]f08_statusR] is a valid Fortran status, but not the Fortran value of C]MPI_F08_STATUS_IGNORER] (in C), C]MPI_STATUS_IGNORER] (in Fortran) or C]MPI_F08_STATUSES_IGNORER] (in C) or C]MPI_STATUSES_IGNORER] (in Fortran), then C]MPI_Status_f082f()R] returns in C]f_statusR] a valid array with the same content. If C]f08_statusR] is the C value of C]MPI_F08_STATUS_IGNORER] or C]MPI_F08_STATUSES_IGNORER] or the Fortran value of C]MPI_STATUS_IGNORER] or C]MPI_STATUSES_IGNORER], or if C]f08_statusR] is not a valid Fortran status, then the call is erroneous.

When using C]MPI_Status_f2f08()R], the opposite conversion is applied. If C]f_statusR] is C]MPI_STATUS_IGNORER] or C]MPI_STATUSES_IGNORER], or if C]f_statusR] is not a valid Fortran status, then the call is erroneous.

The input status has the same source, tag and error code values as the output status, and returns the same answers when queried for count, elements, and cancellation. The conversion function may be called with an input status argument that has an undefined error field, in which case the value of the error field in the output status argument is undefined.

Notes

The Fortran subroutines for these MPI routines are only available in the C]mpiR] and C]mpi_f08R] modules (including the type specification for C]TYPE(MPI_Status); they are (intentionally) not available inR]mpif.h[ga].

See Also

C]MPI_Status_c2fR](3), C]MPI_Status_f2cR](3), C]MPI_Status_f082cR](3), C]MPI_Status_c2f08R](3)


Table of Contents

« Return to documentation listing