MPI_STATUS_C2F08(3)

πŸ’… MPI_STATUS_C2F08 β€” yes bestie, it's an Open MPI page πŸŽ€

okay so picture this: you've got a status in C land and you've got a status in Fortran 2008 land, and they literally do not speak the same language. this page is the translator. the go-between. the friend who knows both groups. ✨

Technically the page is titled MPI_STATUS_C2F08(3) from the Open MPI manual, and the two stars of the show are really MPI_Status_f082c and MPI_Status_c2f08 β€” they translate a C status into a Fortran 2008 status, or the other way around. πŸ¦‹


✨ SYNOPSIS ✨

🌸 C Syntax

#include <mpi.h>

int MPI_Status_f082c(const MPI_F08_status *f08_status, MPI_Status *c_status)
int MPI_Status_c2f08(const MPI_Status *c_status, MPI_F08_status *f08_status)

🫢 PARAMETERS 🫢

  • f08_status β€” an mpi_f08-style MPI status object. very fortran. very 2008. πŸ’–
  • c_status β€” a C-style MPI status object. the classic. the original. πŸ‘‘

πŸ”₯ DESCRIPTION πŸ”₯

so these two procedures exist in C specifically to convert from a Fortran 2008 status (which is a derived type made of integers, iykyk) to a C status (which is a structure), and vice versa. the conversion happens on all the information in status, including the hidden stuff that you can't even see. no cap β€” literally no status information is lost in the conversion. it's giving ✨ thorough ✨.

When you're using MPI_Status_f082c: if f08_status is a valid Fortran status, but not the Fortran value of MPI_F08_STATUS_IGNORE or MPI_F08_STATUSES_IGNORE, then MPI_Status_f082c returns in c_status a valid C status with the exact same content. πŸ’―

but bestie. if f08_status is the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if f08_status just isn't a valid Fortran status at all? then the call is erroneous. 🚩 not it. do not pass go.

When you're using MPI_Status_c2f08, it's the opposite conversion, obviously. and if c_status is MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if c_status isn't a valid C status, then β€” you guessed it β€” the call is erroneous. πŸ’€

The input status has the same source, tag and error code values as the output status, and it returns the same answers when you query it for count, elements, and cancellation. 🌈 and here's a lil nuance for you: the conversion function may be called with an input status argument that has an undefined error field, and in that case the value of the error field in the output status argument is undefined. so like, don't be surprised. πŸ™ˆ


πŸ¦‹ NOTES πŸ¦‹

these functions are only available in C. they are not available in any of the Fortran MPI interfaces. periodt. πŸ’…

πŸŽ€ SEE ALSO πŸŽ€

  • MPI_Status_c2f
  • MPI_Status_f2f08

2003-2026, The Open MPI Community


and that's the whole vibe check, bestie πŸ§šπŸ’œ this lil Open MPI page was dated May 14, 2026, so go forth and convert those statuses with main character energy. slay. πŸ’…βœ¨

πŸ“¦ where this page comes from