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_IGNORE或MPI_STATUSES_IGNORE的Fortran值,那么MPI_Status_f2c将在c_status中返回具有相同内容的有效C状态。如果f_status是MPI_STATUS_IGNORE或MPI_STATUSES_IGNORE的Fortran值,或者如果f_status不是有效的Fortran状态,则该调用是错误的。
当使用MPI_Status_c2f时,会执行相反的转换。如果c_status是MPI_STATUS_IGNORE或MPI_STATUSES_IGNORE,或者如果c_status不是有效的C状态,则该调用是错误的。
输入状态与输出状态具有相同的来源、标签和错误代码值,并且在查询计数、元素和取消时返回相同的答案。转换函数可能会被调用时传入一个错误字段未定义的输入状态参数,在这种情况下,输出状态参数中的错误字段值也将是未定义的。
17.2.335.4. 注意事项
这些函数仅在C语言中可用;它们在任何Fortran MPI接口中都不可用。