41#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
44#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
47#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
50#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
53#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
56#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
59#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
62#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
65#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
68#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
71#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
74#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
77#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
80#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
84#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
87#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
90#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
93#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
96#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
99#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
102#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
105#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
108#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
111#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
114#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
117#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
120#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
123#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
126#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
129#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
132#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
135#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
138#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
141#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
144#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
147#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
150#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
153#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
156#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
159#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
162#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
165#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
168#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
171#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
174#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
177#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
180#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
183#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
186#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
189#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
192#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
197#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
200#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
203#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
206#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
209#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
212#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
215#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
218#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
221#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
224#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
227#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
230#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
233#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
236#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
242#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
245#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
248#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
251#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
254#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
257#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
260#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
263#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
266#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
269#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
272#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
275#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
278#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
281#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
284#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
287#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
290#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
293#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
296#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
299#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
302#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
305#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
308#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
311#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
314#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
317#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
320#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
323#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
326#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
329#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
332#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
335#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
338#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
341#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
344#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
347#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
350#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
356#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
359#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
362#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
365#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
368#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
371#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
374#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
377#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
380#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
383#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
386#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
389#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
392#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
395#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
398#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
401#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
404#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
407#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
410#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
413#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
416#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
419#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
422#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
425#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
428#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
431#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
434#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
437#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
440#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
443#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
446#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
449#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
452#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
455#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
458#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
461#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
464#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
Definition typePassive.hpp:52
Global namespace for MeDiPack - Message Differentiation Package.
Definition adjointInterface.hpp:37
AMPI_UINT8_T_Type * AMPI_UINT8_T
Definition ampiDefinitions.cpp:148
AMPI_UNSIGNED_Type * AMPI_UNSIGNED
Definition ampiDefinitions.cpp:112
MpiTypePassive< bool > AMPI_CXX_BOOL_Type
Definition ampiDefinitions.h:1029
MpiTypePassive< unsigned long long int > AMPI_UNSIGNED_LONG_LONG_Type
Definition ampiDefinitions.h:972
AMPI_Op AMPI_MIN
Definition ampiDefinitions.cpp:45
AMPI_SHORT_Type * AMPI_SHORT
Definition ampiDefinitions.cpp:88
MpiTypePassive< bool > AMPI_C_BOOL_Type
Definition ampiDefinitions.h:987
AMPI_Op AMPI_REPLACE
Definition ampiDefinitions.cpp:78
AMPI_UNSIGNED_LONG_Type * AMPI_UNSIGNED_LONG
Definition ampiDefinitions.cpp:115
AMPI_OFFSET_Type * AMPI_OFFSET
Definition ampiDefinitions.cpp:166
MpiTypePassive< int32_t > AMPI_INT32_T_Type
Definition ampiDefinitions.h:996
AMPI_Op AMPI_BXOR
Definition ampiDefinitions.cpp:66
AMPI_COUNT_Type * AMPI_COUNT
Definition ampiDefinitions.cpp:163
AMPI_DOUBLE_INT_Type * AMPI_DOUBLE_INT
Definition ampiDefinitions.cpp:181
AMPI_Op AMPI_LOR
Definition ampiDefinitions.cpp:72
MpiTypePassive< double > AMPI_DOUBLE_Type
Definition ampiDefinitions.h:978
MpiTypePassive< uint32_t > AMPI_UINT32_T_Type
Definition ampiDefinitions.h:1008
void initializeOperators()
Definition ampiDefinitions.cpp:196
MpiTypePassive< char > AMPI_CHAR_Type
Definition ampiDefinitions.h:939
AMPI_Op AMPI_MAX
Definition ampiDefinitions.cpp:42
AMPI_LONG_Type * AMPI_LONG
Definition ampiDefinitions.cpp:94
MpiTypePassive< MPI_Aint > AMPI_AINT_Type
Definition ampiDefinitions.h:1014
MpiTypePassive< long long int > AMPI_LONG_LONG_INT_Type
Definition ampiDefinitions.h:951
MpiTypePassive< float > AMPI_FLOAT_Type
Definition ampiDefinitions.h:975
AMPI_LONG_DOUBLE_INT_Type * AMPI_LONG_DOUBLE_INT
Definition ampiDefinitions.cpp:193
MpiTypePassive< int > AMPI_INT_Type
Definition ampiDefinitions.h:945
MpiTypePassive< uint16_t > AMPI_UINT16_T_Type
Definition ampiDefinitions.h:1005
AMPI_CHAR_Type * AMPI_CHAR
Definition ampiDefinitions.cpp:85
MpiTypePassive< long > AMPI_LONG_Type
Definition ampiDefinitions.h:948
AMPI_LONG_LONG_Type * AMPI_LONG_LONG
Definition ampiDefinitions.cpp:100
AMPI_LONG_INT_Type * AMPI_LONG_INT
Definition ampiDefinitions.cpp:184
MpiTypePassive< int64_t > AMPI_INT64_T_Type
Definition ampiDefinitions.h:999
AMPI_INT64_T_Type * AMPI_INT64_T
Definition ampiDefinitions.cpp:145
MpiTypePassive< wchar_t > AMPI_WCHAR_Type
Definition ampiDefinitions.h:984
AMPI_BYTE_Type * AMPI_BYTE
Definition ampiDefinitions.cpp:169
AMPI_DOUBLE_Type * AMPI_DOUBLE
Definition ampiDefinitions.cpp:124
MpiTypePassive< medi::FloatIntPair > AMPI_FLOAT_INT_Type
Definition ampiDefinitions.h:1032
AMPI_INT8_T_Type * AMPI_INT8_T
Definition ampiDefinitions.cpp:136
AMPI_UNSIGNED_SHORT_Type * AMPI_UNSIGNED_SHORT
Definition ampiDefinitions.cpp:109
MpiTypePassive< medi::LongIntPair > AMPI_LONG_INT_Type
Definition ampiDefinitions.h:1038
AMPI_PACKED_Type * AMPI_PACKED
Definition ampiDefinitions.cpp:172
AMPI_Op AMPI_LXOR
Definition ampiDefinitions.cpp:75
MpiTypePassive< MPI_Offset > AMPI_OFFSET_Type
Definition ampiDefinitions.h:1020
AMPI_Op AMPI_NO_OP
Definition ampiDefinitions.cpp:81
AMPI_Op AMPI_PROD
Definition ampiDefinitions.cpp:51
AMPI_FLOAT_INT_Type * AMPI_FLOAT_INT
Definition ampiDefinitions.cpp:178
AMPI_Op AMPI_MAXLOC
Definition ampiDefinitions.cpp:54
AMPI_UINT64_T_Type * AMPI_UINT64_T
Definition ampiDefinitions.cpp:157
AMPI_UNSIGNED_CHAR_Type * AMPI_UNSIGNED_CHAR
Definition ampiDefinitions.cpp:106
AMPI_Op AMPI_SUM
Definition ampiDefinitions.cpp:48
AMPI_Op AMPI_LAND
Definition ampiDefinitions.cpp:69
MpiTypePassive< unsigned short > AMPI_UNSIGNED_SHORT_Type
Definition ampiDefinitions.h:963
void initTypes()
Definition ampiDefinitions.cpp:241
AMPI_CXX_BOOL_Type * AMPI_CXX_BOOL
Definition ampiDefinitions.cpp:175
AMPI_LONG_DOUBLE_Type * AMPI_LONG_DOUBLE
Definition ampiDefinitions.cpp:127
AMPI_INT32_T_Type * AMPI_INT32_T
Definition ampiDefinitions.cpp:142
AMPI_UINT32_T_Type * AMPI_UINT32_T
Definition ampiDefinitions.cpp:154
MpiTypePassive< uint8_t > AMPI_PACKED_Type
Definition ampiDefinitions.h:1026
AMPI_LONG_LONG_INT_Type * AMPI_LONG_LONG_INT
Definition ampiDefinitions.cpp:97
MpiTypePassive< unsigned long > AMPI_UNSIGNED_LONG_Type
Definition ampiDefinitions.h:969
MpiTypePassive< unsigned int > AMPI_UNSIGNED_Type
Definition ampiDefinitions.h:966
AMPI_UINT16_T_Type * AMPI_UINT16_T
Definition ampiDefinitions.cpp:151
MpiTypePassive< signed char > AMPI_SIGNED_CHAR_Type
Definition ampiDefinitions.h:957
MpiTypePassive< medi::IntIntPair > AMPI_2INT_Type
Definition ampiDefinitions.h:1041
AMPI_C_BOOL_Type * AMPI_C_BOOL
Definition ampiDefinitions.cpp:133
MpiTypePassive< long double > AMPI_LONG_DOUBLE_Type
Definition ampiDefinitions.h:981
AMPI_UNSIGNED_LONG_LONG_Type * AMPI_UNSIGNED_LONG_LONG
Definition ampiDefinitions.cpp:118
MpiTypePassive< uint8_t > AMPI_BYTE_Type
Definition ampiDefinitions.h:1023
MpiTypePassive< short > AMPI_SHORT_Type
Definition ampiDefinitions.h:942
void finalizeTypes()
Definition ampiDefinitions.cpp:355
MpiTypePassive< long long int > AMPI_LONG_LONG_Type
Definition ampiDefinitions.h:954
MpiTypePassive< MPI_Count > AMPI_COUNT_Type
Definition ampiDefinitions.h:1017
AMPI_2INT_Type * AMPI_2INT
Definition ampiDefinitions.cpp:187
AMPI_WCHAR_Type * AMPI_WCHAR
Definition ampiDefinitions.cpp:130
MpiTypePassive< medi::ShortIntPair > AMPI_SHORT_INT_Type
Definition ampiDefinitions.h:1044
AMPI_Op AMPI_BAND
Definition ampiDefinitions.cpp:60
AMPI_INT16_T_Type * AMPI_INT16_T
Definition ampiDefinitions.cpp:139
AMPI_SIGNED_CHAR_Type * AMPI_SIGNED_CHAR
Definition ampiDefinitions.cpp:103
MpiTypePassive< medi::DoubleIntPair > AMPI_DOUBLE_INT_Type
Definition ampiDefinitions.h:1035
MpiTypePassive< medi::LongDoubleIntPair > AMPI_LONG_DOUBLE_INT_Type
Definition ampiDefinitions.h:1047
MpiTypePassive< int16_t > AMPI_INT16_T_Type
Definition ampiDefinitions.h:993
MpiTypePassive< int8_t > AMPI_INT8_T_Type
Definition ampiDefinitions.h:990
AMPI_INT_Type * AMPI_INT
Definition ampiDefinitions.cpp:91
AMPI_FLOAT_Type * AMPI_FLOAT
Definition ampiDefinitions.cpp:121
AMPI_Op AMPI_BOR
Definition ampiDefinitions.cpp:63
MpiTypePassive< unsigned char > AMPI_UNSIGNED_CHAR_Type
Definition ampiDefinitions.h:960
AMPI_SHORT_INT_Type * AMPI_SHORT_INT
Definition ampiDefinitions.cpp:190
MpiTypePassive< uint8_t > AMPI_UINT8_T_Type
Definition ampiDefinitions.h:1002
AMPI_AINT_Type * AMPI_AINT
Definition ampiDefinitions.cpp:160
MpiTypePassive< uint64_t > AMPI_UINT64_T_Type
Definition ampiDefinitions.h:1011
AMPI_Op AMPI_MINLOC
Definition ampiDefinitions.cpp:57
Structure for the special handling of the MPI_Op structure.
Definition op.hpp:50
int init(const bool requiresPrimal, const bool requiresPrimalSend, MPI_User_function *primalFunction, int primalFunctionCommute, MPI_User_function *modifiedPrimalFunction, int modifiedPrimalFunctionCommute, const PreAdjointOperation preAdjointOperation, const PostAdjointOperation postAdjointOperation)
Creates an operator with a specialized adjoint handling.
Definition op.hpp:129