17.2.335. MPI_Status_c2f

MPI_Status_f2c, MPI_Status_f2c - 将C语言状态转换为Fortran INTEGER风格的状态,或反之。

17.2.335.1. 语法

17.2.335.1.1. C语法

#include <mpi.h>

int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status)
int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status)

17.2.335.2. 参数

  • f_status : mpi风格的INTEGER MPI状态对象

  • c_status : C风格的MPI状态对象

17.2.335.3. 描述

这两个C语言过程用于在Fortran状态(整数数组)和C状态(结构体)之间进行转换。转换会处理状态中的所有信息,包括隐藏部分。也就是说,在转换过程中不会丢失任何状态信息。

当使用MPI_Status_f2c时,如果f_status是一个有效的Fortran状态,但不是MPI_STATUS_IGNOREMPI_STATUSES_IGNORE的Fortran值,那么MPI_Status_f2c将在c_status中返回具有相同内容的有效C状态。如果f_statusMPI_STATUS_IGNOREMPI_STATUSES_IGNORE的Fortran值,或者如果f_status不是有效的Fortran状态,则该调用是错误的。

当使用MPI_Status_c2f时,会执行相反的转换。如果c_statusMPI_STATUS_IGNOREMPI_STATUSES_IGNORE,或者如果c_status不是有效的C状态,则该调用是错误的。

输入状态与输出状态具有相同的来源、标签和错误代码值,并且在查询计数、元素和取消时返回相同的答案。转换函数可能会被调用时传入一个错误字段未定义的输入状态参数,在这种情况下,输出状态参数中的错误字段值也将是未定义的。

17.2.335.4. 注意事项

这些函数仅在C语言中可用;它们在任何Fortran MPI接口中都不可用。