Я реализую интерфейс передачи сообщений, и одной из квалификаций его стандартов являются пользовательские типы данных MPI, которые сопоставляются с типами данных C.Например, MPI_INT
отображается на C int
.
Достаточно просто, что я хотел бы сделать:
typedef int MPI_INT;
typedef short int MPI_SHORT;
...
...
...
etc
Но я хочу, чтобы все эти пользовательские типы данных находились под более общим типом данных, называемым MPI_Datatype, чтобы я мог создать прототип функции, такой как
MPI_Send(void*, MPI_Datatype)
где MPI_Datatype является одним из MPI_INT, MPI_SHORT и т. Д.
Я не совсем уверен, как это можно сделать в C, так что если у кого-то есть идея, которая будет превосходной.