31 #define HS_MPIDATATYPE(CTYPE, MPITYPE) \ 33 class Mpi_datatype<CTYPE> \ 36 static MPI_Datatype value() {\ 41 HS_MPIDATATYPE(
short, MPI_SHORT)
42 HS_MPIDATATYPE(
int, MPI_INT)
43 HS_MPIDATATYPE(
long, MPI_LONG)
44 HS_MPIDATATYPE(
unsigned short, MPI_UNSIGNED_SHORT)
45 HS_MPIDATATYPE(
unsigned int, MPI_UNSIGNED)
46 HS_MPIDATATYPE(
unsigned long, MPI_UNSIGNED_LONG)
47 HS_MPIDATATYPE(
float, MPI_FLOAT)
48 HS_MPIDATATYPE(
double, MPI_DOUBLE)
49 HS_MPIDATATYPE(
long double, MPI_LONG_DOUBLE)
50 HS_MPIDATATYPE(
long long, MPI_LONG_LONG_INT)
51 HS_MPIDATATYPE(
char, MPI_CHAR)
52 HS_MPIDATATYPE(
unsigned char, MPI_UNSIGNED_CHAR)
62 static MPI_Datatype value()
64 static bool first =
true;
65 static MPI_Datatype datatype;
70 MPI_Type_commit(&datatype);
83 static void bool_LOR(
void *in,
void *inout,
int* len, MPI_Datatype * dptr) {
84 for (
int i = 0; i < (*len); i++) {
85 ((
static_cast<bool*
>(inout))[i]) =
86 ( ((static_cast<bool*>(in))[i]) ||
87 ((
static_cast<bool*
>(inout))[i]) );
92 static void bool_LAND(
void *in,
void *inout,
int* len, MPI_Datatype * dptr) {
93 for (
int i = 0; i < (*len); i++) {
94 ((
static_cast<bool*
>(inout))[i]) =
95 ( ((static_cast<bool*>(in))[i]) && ((
static_cast<bool*
>(inout))[i]));
105 static bool first =
true;
120 static bool first =
true;
134 static bool first =
true;
135 static MPI_Datatype datatype;
138 MPI_Type_contiguous(
sizeof(
bool), MPI_BYTE, &datatype);
139 MPI_Type_commit(&datatype);
static MPI_Op LAND()
User defined MPI_Operation to perform: second[i] = (first[i] && second[i]),.
Definition: dtypes.h:104
Definition: json.hpp:17186
static MPI_Datatype value()
Definition: dtypes.h:133
static MPI_Op LOR()
User defined MPI_Operation to perform: second[i] = (first[i] || second[i]),.
Definition: dtypes.h:119
An abstract class used for communicating messages using user-defined datatypes. The user must impleme...
Definition: zoltan_hilbert.h:76
Collection of Generic Parallel Functions: Sorting, Partitioning, Searching,...
Definition: zoltan_hilbert.h:72