MPI_STATUS_F082F(3)

πŸ’– MPI_STATUS_F082F(3) πŸ’–

okay so welcome to the Open MPI page for MPI_Status_f082f and MPI_Status_c2f08 β€” aka the β€œTranslates a Fortran 2008 status into a Fortran INTEGER-style status, or vice versa” girlies. bestie, this is the manual page, but make it make sense πŸ’…βœ¨


✨ SYNTAX ✨

C Syntax

#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)

Fortran mpi Module Syntax

USE MPI

MPI_STATUS_F082F(F08_STATUS, F_STATUS, IERROR)
    TYPE(MPI_Status) :: F08_STATUS
    INTEGER :: STATUS(MPI_STATUS_SIZE), IERROR

MPI_STATUS_F2F08(F_STATUS, F08_STATUS, IERROR)
    INTEGER :: F_STATUS(MPI_STATUS_SIZE), IERROR
    TYPE(MPI_Status) :: F08_STATUS

Fortran mpi_f08 Module Syntax

USE mpi_f08

MPI_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) :: ierror

MPI_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) :: ierror

πŸŽ€ PARAMETERS πŸŽ€

  • f08_status β€” the mpi_f08-style MPI status object, bestie πŸ¦‹
  • f_status β€” the mpi-style INTEGER MPI status object, iconic 🌸

🌸 DESCRIPTION 🌸

okay so these two procedures are the glow-up translators: they’re 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 happens on all the information in status, including the hidden bits. Translation: no status information is lost in the conversion. periodt πŸ’…

When you’re using MPI_Status_f082f, if f08_status is a valid Fortran status, but not the Fortran value of MPI_F08_STATUS_IGNORE (in C), MPI_STATUS_IGNORE (in Fortran), or MPI_F08_STATUSES_IGNORE (in C), or MPI_STATUSES_IGNORE (in Fortran), then MPI_Status_f082f returns in f_status a valid array with the same content. If f08_status is the C value of MPI_F08_STATUS_IGNORE or MPI_F08_STATUSES_IGNORE, or the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if f08_status is not a valid Fortran status, then the call is erroneous. 🚨

When you’re using MPI_Status_f2f08, the opposite conversion is applied. If f_status is MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if f_status 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. so don’t clown around with an undefined error field and expect a cute little answer, bestie πŸ’€


πŸ“ NOTES πŸ“

The Fortran subroutines for these MPI routines are only available in the mpi and mpi_f08 modules (including the type specification for TYPE(MPI_Status)); they are (intentionally) not available in mpif.h. not me being dramatic, but this is the rule fr fr 🫢

SEE ALSO: MPI_Status_c2f MPI_Status_c2f08


2003-2026, The Open MPI Community


signed, sealed, and served by Open MPI, dated May 14, 2026 β€” copyright 2003-2026, The Open MPI Community. mwah πŸ’‹πŸŽ€

πŸ“¦ where this page comes from