19 inline MPI_Datatype
mpi_typeof(
signed short) {
return MPI_SHORT;}
20 inline MPI_Datatype
mpi_typeof(
signed int) {
return MPI_INT;}
21 inline MPI_Datatype
mpi_typeof(
signed long) {
return MPI_LONG;}
22 inline MPI_Datatype
mpi_typeof(
unsigned char) {
return MPI_UNSIGNED_CHAR;}
23 inline MPI_Datatype
mpi_typeof(
unsigned short) {
return MPI_UNSIGNED_SHORT;}
24 inline MPI_Datatype
mpi_typeof(
unsigned) {
return MPI_UNSIGNED;}
25 inline MPI_Datatype
mpi_typeof(
unsigned long) {
return MPI_UNSIGNED_LONG;}
26 inline MPI_Datatype
mpi_typeof(
signed long long) {
return MPI_LONG_LONG_INT;}
27 inline MPI_Datatype
mpi_typeof(
double) {
return MPI_DOUBLE;}
28 inline MPI_Datatype
mpi_typeof(
long double) {
return MPI_LONG_DOUBLE;}
29 inline MPI_Datatype
mpi_typeof(std::pair<int,int>) {
return MPI_2INT;}
30 inline MPI_Datatype
mpi_typeof(std::pair<float,int>) {
return MPI_FLOAT_INT;}
31 inline MPI_Datatype
mpi_typeof(std::pair<double,int>) {
return MPI_DOUBLE_INT;}
32 inline MPI_Datatype
mpi_typeof(std::pair<long double,int>) {
return MPI_LONG_DOUBLE_INT;}
33 inline MPI_Datatype
mpi_typeof(std::pair<short,int>) {
return MPI_SHORT_INT;}
39 #define MPI_SIZE_T (mpi_typeof(size_t()))
40 #define MPI_INTPTR_T (mpi_typeof(intptr_t()))
41 #define MPI_UINTPTR_T (mpi_typeof(uintptr_t()))
49 MPI_Pack_size(count, type, comm, &size);
58 PMPI_Pack_size(count, type, comm, &size);
int pmpi_packed_size(int count, MPI_Datatype type, MPI_Comm comm)
PMPI binding for mpi_packed_size().
MPI_Datatype mpi_typeof(char)
int mpi_packed_size(int count, MPI_Datatype type, MPI_Comm comm)
Expression-ifies the overly C-ish MPI_Pack_size function.