Skip to content

Commit c74f705

Browse files
committed
Add removed MPI_Fint and c2f/f2c routines
1 parent 4153658 commit c74f705

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed

mpi-api-removed.h

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,83 @@ MPI_ABI_static_inline int PMPI_Type_ub(MPI_Datatype MPI_datatype, MPI_Aint *MPI_
9090
if (MPI_ierr == MPI_SUCCESS && MPI_ub) *MPI_ub += MPI_lb;
9191
return MPI_ierr;
9292
}
93+
94+
/* C <-> Fortran Handle Conversion */
95+
96+
#define MPI_Fint int
97+
98+
MPI_ABI_static_inline int MPIX_ABI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status)
99+
{
100+
int MPI_pos = 0;
101+
enum { MPI_off = 3, MPI_len = sizeof(c_status->MPI_internal)/sizeof(MPI_Fint) };
102+
f_status[MPI_pos++] = c_status->MPI_SOURCE;
103+
f_status[MPI_pos++] = c_status->MPI_TAG;
104+
f_status[MPI_pos++] = c_status->MPI_ERROR;
105+
for (MPI_pos = 0; MPI_pos < MPI_len; MPI_pos++)
106+
f_status[MPI_off + MPI_pos] = c_status->MPI_internal[MPI_pos];
107+
return MPI_SUCCESS;
108+
}
109+
110+
MPI_ABI_static_inline int MPIX_ABI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status)
111+
{
112+
int MPI_pos = 0;
113+
enum { MPI_off = 3, MPI_len = sizeof(c_status->MPI_internal)/sizeof(MPI_Fint) };
114+
c_status->MPI_SOURCE = f_status[MPI_pos++];
115+
c_status->MPI_TAG = f_status[MPI_pos++];
116+
c_status->MPI_ERROR = f_status[MPI_pos++];
117+
for (MPI_pos = 0; MPI_pos < MPI_len; MPI_pos++)
118+
c_status->MPI_internal[MPI_pos] = f_status[MPI_off + MPI_pos];
119+
return MPI_SUCCESS;
120+
}
121+
122+
#define MPI_Comm_c2f MPI_Comm_toint
123+
#define MPI_Errhandler_c2f MPI_Errhandler_toint
124+
#define MPI_File_c2f MPI_File_toint
125+
#define MPI_Group_c2f MPI_Group_toint
126+
#define MPI_Info_c2f MPI_Info_toint
127+
#define MPI_Message_c2f MPI_Message_toint
128+
#define MPI_Op_c2f MPI_Op_toint
129+
#define MPI_Request_c2f MPI_Request_toint
130+
#define MPI_Session_c2f MPI_Session_toint
131+
#define MPI_Status_c2f MPIX_ABI_Status_c2f
132+
#define MPI_Type_c2f MPI_Type_toint
133+
#define MPI_Win_c2f MPI_Win_toint
134+
135+
#define MPI_Comm_f2c MPI_Comm_fromint
136+
#define MPI_Errhandler_f2c MPI_Errhandler_fromint
137+
#define MPI_File_f2c MPI_File_fromint
138+
#define MPI_Group_f2c MPI_Group_fromint
139+
#define MPI_Info_f2c MPI_Info_fromint
140+
#define MPI_Message_f2c MPI_Message_fromint
141+
#define MPI_Op_f2c MPI_Op_fromint
142+
#define MPI_Request_f2c MPI_Request_fromint
143+
#define MPI_Session_f2c MPI_Session_fromint
144+
#define MPI_Status_f2c MPIX_ABI_Status_f2c
145+
#define MPI_Type_f2c MPI_Type_fromint
146+
#define MPI_Win_f2c MPI_Win_fromint
147+
148+
#define PMPI_Comm_c2f PMPI_Comm_toint
149+
#define PMPI_Errhandler_c2f PMPI_Errhandler_toint
150+
#define PMPI_File_c2f PMPI_File_toint
151+
#define PMPI_Group_c2f PMPI_Group_toint
152+
#define PMPI_Info_c2f PMPI_Info_toint
153+
#define PMPI_Message_c2f PMPI_Message_toint
154+
#define PMPI_Op_c2f PMPI_Op_toint
155+
#define PMPI_Request_c2f PMPI_Request_toint
156+
#define PMPI_Session_c2f PMPI_Session_toint
157+
#define PMPI_Status_c2f MPIX_ABI_Status_c2f
158+
#define PMPI_Type_c2f PMPI_Type_toint
159+
#define PMPI_Win_c2f PMPI_Win_toint
160+
161+
#define PMPI_Comm_f2c PMPI_Comm_fromint
162+
#define PMPI_Errhandler_f2c PMPI_Errhandler_fromint
163+
#define PMPI_File_f2c PMPI_File_fromint
164+
#define PMPI_Group_f2c PMPI_Group_fromint
165+
#define PMPI_Info_f2c PMPI_Info_fromint
166+
#define PMPI_Message_f2c PMPI_Message_fromint
167+
#define PMPI_Op_f2c PMPI_Op_fromint
168+
#define PMPI_Request_f2c PMPI_Request_fromint
169+
#define PMPI_Session_f2c PMPI_Session_fromint
170+
#define PMPI_Status_f2c MPIX_ABI_Status_f2c
171+
#define PMPI_Type_f2c PMPI_Type_fromint
172+
#define PMPI_Win_f2c PMPI_Win_fromint

0 commit comments

Comments
 (0)