42#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
43#define AMPI_SUCCESS MPI_SUCCESS
45#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
46#define AMPI_ERR_BUFFER MPI_ERR_BUFFER
48#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
49#define AMPI_ERR_COUNT MPI_ERR_COUNT
51#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
52#define AMPI_ERR_TYPE MPI_ERR_TYPE
54#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
55#define AMPI_ERR_TAG MPI_ERR_TAG
57#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
58#define AMPI_ERR_COMM MPI_ERR_COMM
60#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
61#define AMPI_ERR_RANK MPI_ERR_RANK
63#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
64#define AMPI_ERR_REQUEST MPI_ERR_REQUEST
66#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
67#define AMPI_ERR_ROOT MPI_ERR_ROOT
69#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
70#define AMPI_ERR_GROUP MPI_ERR_GROUP
72#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
73#define AMPI_ERR_OP MPI_ERR_OP
75#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
76#define AMPI_ERR_TOPOLOGY MPI_ERR_TOPOLOGY
78#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
79#define AMPI_ERR_DIMS MPI_ERR_DIMS
81#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
82#define AMPI_ERR_ARG MPI_ERR_ARG
84#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
85#define AMPI_ERR_UNKNOWN MPI_ERR_UNKNOWN
87#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
88#define AMPI_ERR_TRUNCATE MPI_ERR_TRUNCATE
90#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
91#define AMPI_ERR_OTHER MPI_ERR_OTHER
93#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
94#define AMPI_ERR_INTERN MPI_ERR_INTERN
96#if MEDI_MPI_VERSION_1_2 <= MEDI_MPI_TARGET
97#define AMPI_ERR_PENDING MPI_ERR_PENDING
99#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
100#define AMPI_ERR_IN_STATUS MPI_ERR_IN_STATUS
102#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
103#define AMPI_ERR_ACCESS MPI_ERR_ACCESS
105#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
106#define AMPI_ERR_AMODE MPI_ERR_AMODE
108#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
109#define AMPI_ERR_ASSERT MPI_ERR_ASSERT
111#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
112#define AMPI_ERR_BAD_FILE MPI_ERR_BAD_FILE
114#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
115#define AMPI_ERR_BASE MPI_ERR_BASE
117#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
118#define AMPI_ERR_CONVERSION MPI_ERR_CONVERSION
120#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
121#define AMPI_ERR_DISP MPI_ERR_DISP
123#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
124#define AMPI_ERR_DUP_DATAREP MPI_ERR_DUP_DATAREP
126#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
127#define AMPI_ERR_FILE_EXISTS MPI_ERR_FILE_EXISTS
129#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
130#define AMPI_ERR_FILE_IN_USE MPI_ERR_FILE_IN_USE
132#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
133#define AMPI_ERR_FILE MPI_ERR_FILE
135#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
136#define AMPI_ERR_INFO_KEY MPI_ERR_INFO_KEY
138#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
139#define AMPI_ERR_INFO_NOKEY MPI_ERR_INFO_NOKEY
141#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
142#define AMPI_ERR_INFO_VALUE MPI_ERR_INFO_VALUE
144#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
145#define AMPI_ERR_INFO MPI_ERR_INFO
147#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
148#define AMPI_ERR_IO MPI_ERR_IO
150#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
151#define AMPI_ERR_KEYVAL MPI_ERR_KEYVAL
153#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
154#define AMPI_ERR_LOCKTYPE MPI_ERR_LOCKTYPE
156#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
157#define AMPI_ERR_NAME MPI_ERR_NAME
159#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
160#define AMPI_ERR_NO_MEM MPI_ERR_NO_MEM
162#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
163#define AMPI_ERR_NOT_SAME MPI_ERR_NOT_SAME
165#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
166#define AMPI_ERR_NO_SPACE MPI_ERR_NO_SPACE
168#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
169#define AMPI_ERR_NO_SUCH_FILE MPI_ERR_NO_SUCH_FILE
171#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
172#define AMPI_ERR_PORT MPI_ERR_PORT
174#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
175#define AMPI_ERR_QUOTA MPI_ERR_QUOTA
177#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
178#define AMPI_ERR_READ_ONLY MPI_ERR_READ_ONLY
180#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
181#define AMPI_ERR_RMA_ATTACH MPI_ERR_RMA_ATTACH
183#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
184#define AMPI_ERR_RMA_CONFLICT MPI_ERR_RMA_CONFLICT
186#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
187#define AMPI_ERR_RMA_RANGE MPI_ERR_RMA_RANGE
189#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
190#define AMPI_ERR_RMA_SHARED MPI_ERR_RMA_SHARED
192#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
193#define AMPI_ERR_RMA_SYNC MPI_ERR_RMA_SYNC
195#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
196#define AMPI_ERR_RMA_FLAVOR MPI_ERR_RMA_FLAVOR
198#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
199#define AMPI_ERR_SERVICE MPI_ERR_SERVICE
201#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
202#define AMPI_ERR_SIZE MPI_ERR_SIZE
204#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
205#define AMPI_ERR_SPAWN MPI_ERR_SPAWN
207#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
208#define AMPI_ERR_UNSUPPORTED_DATAREP MPI_ERR_UNSUPPORTED_DATAREP
210#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
211#define AMPI_ERR_UNSUPPORTED_OPERATION MPI_ERR_UNSUPPORTED_OPERATION
213#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
214#define AMPI_ERR_WIN MPI_ERR_WIN
216#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
217#define AMPI_T_ERR_CANNOT_INIT MPI_T_ERR_CANNOT_INIT
219#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
220#define AMPI_T_ERR_NOT_INITIALIZED MPI_T_ERR_NOT_INITIALIZED
222#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
223#define AMPI_T_ERR_MEMORY MPI_T_ERR_MEMORY
225#if MEDI_MPI_VERSION_3_1 <= MEDI_MPI_TARGET
226#define AMPI_T_ERR_INVALID MPI_T_ERR_INVALID
228#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
229#define AMPI_T_ERR_INVALID_INDEX MPI_T_ERR_INVALID_INDEX
231#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
232#define AMPI_T_ERR_INVALID_ITEM MPI_T_ERR_INVALID_ITEM
234#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
235#define AMPI_T_ERR_INVALID_SESSION MPI_T_ERR_INVALID_SESSION
237#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
238#define AMPI_T_ERR_INVALID_HANDLE MPI_T_ERR_INVALID_HANDLE
240#if MEDI_MPI_VERSION_3_1 <= MEDI_MPI_TARGET
241#define AMPI_T_ERR_INVALID_NAME MPI_T_ERR_INVALID_NAME
243#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
244#define AMPI_T_ERR_OUT_OF_HANDLES MPI_T_ERR_OUT_OF_HANDLES
246#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
247#define AMPI_T_ERR_OUT_OF_SESSIONS MPI_T_ERR_OUT_OF_SESSIONS
249#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
250#define AMPI_T_ERR_CVAR_SET_NOT_NOW MPI_T_ERR_CVAR_SET_NOT_NOW
252#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
253#define AMPI_T_ERR_CVAR_SET_NEVER MPI_T_ERR_CVAR_SET_NEVER
255#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
256#define AMPI_T_ERR_PVAR_NO_WRITE MPI_T_ERR_PVAR_NO_WRITE
258#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
259#define AMPI_T_ERR_PVAR_NO_STARTSTOP MPI_T_ERR_PVAR_NO_STARTSTOP
261#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
262#define AMPI_T_ERR_PVAR_NO_ATOMIC MPI_T_ERR_PVAR_NO_ATOMIC
264#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
265#define AMPI_ERR_LASTCODE MPI_ERR_LASTCODE
267#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
268#define AMPI_BOTTOM MPI_BOTTOM
270#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
271#define AMPI_PROC_NULL MPI_PROC_NULL
273#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
274#define AMPI_ANY_SOURCE MPI_ANY_SOURCE
276#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
277#define AMPI_ANY_TAG MPI_ANY_TAG
279#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
280#define AMPI_UNDEFINED MPI_UNDEFINED
282#if MEDI_MPI_VERSION_1_1 <= MEDI_MPI_TARGET
283#define AMPI_BSEND_OVERHEAD MPI_BSEND_OVERHEAD
285#if MEDI_MPI_VERSION_1_1 <= MEDI_MPI_TARGET
286#define AMPI_KEYVAL_INVALID MPI_KEYVAL_INVALID
288#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
289#define AMPI_LOCK_EXCLUSIVE MPI_LOCK_EXCLUSIVE
291#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
292#define AMPI_LOCK_SHARED MPI_LOCK_SHARED
294#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
295#define AMPI_ROOT MPI_ROOT
297#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
298#define AMPI_MESSAGE_NO_PROC MPI_MESSAGE_NO_PROC
300#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
301#define AMPI_ERRORS_ARE_FATAL MPI_ERRORS_ARE_FATAL
303#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
304#define AMPI_ERRORS_RETURN MPI_ERRORS_RETURN
306#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
307#define AMPI_MAX_DATAREP_STRING MPI_MAX_DATAREP_STRING
309#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
310#define AMPI_MAX_ERROR_STRING MPI_MAX_ERROR_STRING
312#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
313#define AMPI_MAX_INFO_KEY MPI_MAX_INFO_KEY
315#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
316#define AMPI_MAX_INFO_VAL MPI_MAX_INFO_VAL
318#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
319#define AMPI_MAX_LIBRARY_VERSION_STRING MPI_MAX_LIBRARY_VERSION_STRING
321#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
322#define AMPI_MAX_OBJECT_NAME MPI_MAX_OBJECT_NAME
324#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
325#define AMPI_MAX_PORT_NAME MPI_MAX_PORT_NAME
327#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
328#define AMPI_MAX_PROCESSOR_NAME MPI_MAX_PROCESSOR_NAME
330#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
331#define AMPI_COMM_WORLD MPI_COMM_WORLD
333#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
334#define AMPI_COMM_SELF MPI_COMM_SELF
336#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
337#define AMPI_COMM_TYPE_SHARED MPI_COMM_TYPE_SHARED
339#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
340#define AMPI_IDENT MPI_IDENT
342#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
343#define AMPI_CONGRUENT MPI_CONGRUENT
345#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
346#define AMPI_SIMILAR MPI_SIMILAR
348#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
349#define AMPI_UNEQUAL MPI_UNEQUAL
351#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
352#define AMPI_INFO_ENV MPI_INFO_ENV
354#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
355#define AMPI_TAG_UB MPI_TAG_UB
357#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
358#define AMPI_IO MPI_IO
360#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
361#define AMPI_HOST MPI_HOST
363#if MEDI_MPI_VERSION_1_1 <= MEDI_MPI_TARGET
364#define AMPI_WTIME_IS_GLOBAL MPI_WTIME_IS_GLOBAL
366#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
367#define AMPI_GROUP_NULL MPI_GROUP_NULL
369#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
370#define AMPI_COMM_NULL MPI_COMM_NULL
372#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
373#define AMPI_DATATYPE_NULL MPI_DATATYPE_NULL
375#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
376#define AMPI_ERRHANDLER_NULL MPI_ERRHANDLER_NULL
378#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
379#define AMPI_FILE_NULL MPI_FILE_NULL
381#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
382#define AMPI_INFO_NULL MPI_INFO_NULL
384#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
385#define AMPI_WIN_NULL MPI_WIN_NULL
387#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
388#define AMPI_MESSAGE_NULL MPI_MESSAGE_NULL
390#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
391#define AMPI_GROUP_EMPTY MPI_GROUP_EMPTY
393#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
394#define AMPI_GRAPH MPI_GRAPH
396#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
397#define AMPI_CART MPI_CART
399#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
400#define AMPI_DIST_GRAPH MPI_DIST_GRAPH
402#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
403#define AMPI_COMM_NULL_COPY_FN MPI_COMM_NULL_COPY_FN
405#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
406#define AMPI_COMM_DUP_FN MPI_COMM_DUP_FN
408#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
409#define AMPI_COMM_NULL_DELETE_FN MPI_COMM_NULL_DELETE_FN
411#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
412#define AMPI_WIN_NULL_COPY_FN MPI_WIN_NULL_COPY_FN
414#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
415#define AMPI_WIN_DUP_FN MPI_WIN_DUP_FN
417#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
418#define AMPI_WIN_NULL_DELETE_FN MPI_WIN_NULL_DELETE_FN
420#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
421#define AMPI_TYPE_NULL_COPY_FN MPI_TYPE_NULL_COPY_FN
423#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
424#define AMPI_TYPE_DUP_FN MPI_TYPE_DUP_FN
426#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
427#define AMPI_TYPE_NULL_DELETE_FN MPI_TYPE_NULL_DELETE_FN
429#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
430#define AMPI_CONVERSION_FN_NULL MPI_CONVERSION_FN_NULL
432#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
433#define AMPI_APPNUM MPI_APPNUM
435#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
436#define AMPI_LASTUSEDCODE MPI_LASTUSEDCODE
438#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
439#define AMPI_UNIVERSE_SIZE MPI_UNIVERSE_SIZE
441#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
442#define AMPI_WIN_BASE MPI_WIN_BASE
444#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
445#define AMPI_WIN_DISP_UNIT MPI_WIN_DISP_UNIT
447#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
448#define AMPI_WIN_SIZE MPI_WIN_SIZE
450#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
451#define AMPI_WIN_CREATE_FLAVOR MPI_WIN_CREATE_FLAVOR
453#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
454#define AMPI_WIN_MODEL MPI_WIN_MODEL
456#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
457#define AMPI_WIN_FLAVOR_CREATE MPI_WIN_FLAVOR_CREATE
459#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
460#define AMPI_WIN_FLAVOR_ALLOCATE MPI_WIN_FLAVOR_ALLOCATE
462#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
463#define AMPI_WIN_FLAVOR_DYNAMIC MPI_WIN_FLAVOR_DYNAMIC
465#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
466#define AMPI_WIN_FLAVOR_SHARED MPI_WIN_FLAVOR_SHARED
468#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
469#define AMPI_WIN_SEPARATE MPI_WIN_SEPARATE
471#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
472#define AMPI_WIN_UNIFIED MPI_WIN_UNIFIED
474#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
475#define AMPI_MODE_APPEND MPI_MODE_APPEND
477#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
478#define AMPI_MODE_CREATE MPI_MODE_CREATE
480#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
481#define AMPI_MODE_DELETE_ON_CLOSE MPI_MODE_DELETE_ON_CLOSE
483#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
484#define AMPI_MODE_EXCL MPI_MODE_EXCL
486#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
487#define AMPI_MODE_NOCHECK MPI_MODE_NOCHECK
489#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
490#define AMPI_MODE_NOPRECEDE MPI_MODE_NOPRECEDE
492#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
493#define AMPI_MODE_NOPUT MPI_MODE_NOPUT
495#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
496#define AMPI_MODE_NOSTORE MPI_MODE_NOSTORE
498#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
499#define AMPI_MODE_NOSUCCEED MPI_MODE_NOSUCCEED
501#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
502#define AMPI_MODE_RDONLY MPI_MODE_RDONLY
504#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
505#define AMPI_MODE_RDWR MPI_MODE_RDWR
507#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
508#define AMPI_MODE_SEQUENTIAL MPI_MODE_SEQUENTIAL
510#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
511#define AMPI_MODE_UNIQUE_OPEN MPI_MODE_UNIQUE_OPEN
513#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
514#define AMPI_MODE_WRONLY MPI_MODE_WRONLY
516#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
517#define AMPI_COMBINER_CONTIGUOUS MPI_COMBINER_CONTIGUOUS
519#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
520#define AMPI_COMBINER_DARRAY MPI_COMBINER_DARRAY
522#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
523#define AMPI_COMBINER_DUP MPI_COMBINER_DUP
525#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
526#define AMPI_COMBINER_F90_COMPLEX MPI_COMBINER_F90_COMPLEX
528#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
529#define AMPI_COMBINER_F90_INTEGER MPI_COMBINER_F90_INTEGER
531#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
532#define AMPI_COMBINER_F90_REAL MPI_COMBINER_F90_REAL
534#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
535#define AMPI_COMBINER_HINDEXED MPI_COMBINER_HINDEXED
537#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
538#define AMPI_COMBINER_HVECTOR MPI_COMBINER_HVECTOR
540#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
541#define AMPI_COMBINER_INDEXED_BLOCK MPI_COMBINER_INDEXED_BLOCK
543#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
544#define AMPI_COMBINER_HINDEXED_BLOCK MPI_COMBINER_HINDEXED_BLOCK
546#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
547#define AMPI_COMBINER_INDEXED MPI_COMBINER_INDEXED
549#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
550#define AMPI_COMBINER_NAMED MPI_COMBINER_NAMED
552#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
553#define AMPI_COMBINER_RESIZED MPI_COMBINER_RESIZED
555#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
556#define AMPI_COMBINER_STRUCT MPI_COMBINER_STRUCT
558#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
559#define AMPI_COMBINER_SUBARRAY MPI_COMBINER_SUBARRAY
561#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
562#define AMPI_COMBINER_VECTOR MPI_COMBINER_VECTOR
564#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
565#define AMPI_THREAD_FUNNELED MPI_THREAD_FUNNELED
567#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
568#define AMPI_THREAD_MULTIPLE MPI_THREAD_MULTIPLE
570#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
571#define AMPI_THREAD_SERIALIZED MPI_THREAD_SERIALIZED
573#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
574#define AMPI_THREAD_SINGLE MPI_THREAD_SINGLE
576#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
577#define AMPI_DISPLACEMENT_CURRENT MPI_DISPLACEMENT_CURRENT
579#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
580#define AMPI_DISTRIBUTE_BLOCK MPI_DISTRIBUTE_BLOCK
582#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
583#define AMPI_DISTRIBUTE_CYCLIC MPI_DISTRIBUTE_CYCLIC
585#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
586#define AMPI_DISTRIBUTE_DFLT_DARG MPI_DISTRIBUTE_DFLT_DARG
588#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
589#define AMPI_DISTRIBUTE_NONE MPI_DISTRIBUTE_NONE
591#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
592#define AMPI_ORDER_C MPI_ORDER_C
594#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
595#define AMPI_ORDER_FORTRAN MPI_ORDER_FORTRAN
597#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
598#define AMPI_SEEK_CUR MPI_SEEK_CUR
600#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
601#define AMPI_SEEK_END MPI_SEEK_END
603#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
604#define AMPI_SEEK_SET MPI_SEEK_SET
606#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
607#define AMPI_ARGVS_NULL MPI_ARGVS_NULL
609#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
610#define AMPI_ARGV_NULL MPI_ARGV_NULL
612#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
613#define AMPI_ERRCODES_IGNORE MPI_ERRCODES_IGNORE
615#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
616#define AMPI_STATUSES_IGNORE MPI_STATUSES_IGNORE
618#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
619#define AMPI_STATUS_IGNORE MPI_STATUS_IGNORE
621#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
622#define AMPI_UNWEIGHTED MPI_UNWEIGHTED
624#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
625#define AMPI_WEIGHTS_EMPTY MPI_WEIGHTS_EMPTY
627#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
628#define AMPI_SUBVERSION MPI_SUBVERSION
630#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
631#define AMPI_VERSION MPI_VERSION
633#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
634#define AMPI_T_ENUM_NULL MPI_T_ENUM_NULL
636#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
637#define AMPI_T_CVAR_HANDLE_NULL MPI_T_CVAR_HANDLE_NULL
639#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
640#define AMPI_T_PVAR_HANDLE_NULL MPI_T_PVAR_HANDLE_NULL
642#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
643#define AMPI_T_PVAR_SESSION_NULL MPI_T_PVAR_SESSION_NULL
645#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
646#define AMPI_T_VERBOSITY_USER_BASIC MPI_T_VERBOSITY_USER_BASIC
648#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
649#define AMPI_T_VERBOSITY_USER_DETAIL MPI_T_VERBOSITY_USER_DETAIL
651#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
652#define AMPI_T_VERBOSITY_USER_ALL MPI_T_VERBOSITY_USER_ALL
654#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
655#define AMPI_T_VERBOSITY_TUNER_BASIC MPI_T_VERBOSITY_TUNER_BASIC
657#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
658#define AMPI_T_VERBOSITY_TUNER_DETAIL MPI_T_VERBOSITY_TUNER_DETAIL
660#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
661#define AMPI_T_VERBOSITY_TUNER_ALL MPI_T_VERBOSITY_TUNER_ALL
663#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
664#define AMPI_T_VERBOSITY_MPIDEV_BASIC MPI_T_VERBOSITY_MPIDEV_BASIC
666#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
667#define AMPI_T_VERBOSITY_MPIDEV_DETAIL MPI_T_VERBOSITY_MPIDEV_DETAIL
669#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
670#define AMPI_T_VERBOSITY_MPIDEV_ALL MPI_T_VERBOSITY_MPIDEV_ALL
672#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
673#define AMPI_T_BIND_NO_OBJECT MPI_T_BIND_NO_OBJECT
675#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
676#define AMPI_T_BIND_AMPI_COMM MPI_T_BIND_MPI_COMM
678#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
679#define AMPI_T_BIND_AMPI_DATATYPE MPI_T_BIND_MPI_DATATYPE
681#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
682#define AMPI_T_BIND_AMPI_ERRHANDLER MPI_T_BIND_MPI_ERRHANDLER
684#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
685#define AMPI_T_BIND_AMPI_FILE MPI_T_BIND_MPI_FILE
687#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
688#define AMPI_T_BIND_AMPI_GROUP MPI_T_BIND_MPI_GROUP
690#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
691#define AMPI_T_BIND_AMPI_OP MPI_T_BIND_MPI_OP
693#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
694#define AMPI_T_BIND_AMPI_REQUEST MPI_T_BIND_MPI_REQUEST
696#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
697#define AMPI_T_BIND_AMPI_WIN MPI_T_BIND_MPI_WIN
699#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
700#define AMPI_T_BIND_AMPI_MESSAGE MPI_T_BIND_MPI_MESSAGE
702#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
703#define AMPI_T_BIND_AMPI_INFO MPI_T_BIND_MPI_INFO
705#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
706#define AMPI_T_SCOPE_CONSTANT MPI_T_SCOPE_CONSTANT
708#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
709#define AMPI_T_SCOPE_READONLY MPI_T_SCOPE_READONLY
711#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
712#define AMPI_T_SCOPE_LOCAL MPI_T_SCOPE_LOCAL
714#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
715#define AMPI_T_SCOPE_GROUP MPI_T_SCOPE_GROUP
717#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
718#define AMPI_T_SCOPE_GROUP_EQ MPI_T_SCOPE_GROUP_EQ
720#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
721#define AMPI_T_SCOPE_ALL MPI_T_SCOPE_ALL
723#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
724#define AMPI_T_SCOPE_ALL_EQ MPI_T_SCOPE_ALL_EQ
726#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
727#define AMPI_T_PVAR_ALL_HANDLES MPI_T_PVAR_ALL_HANDLES
729#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
730#define AMPI_T_PVAR_CLASS_STATE MPI_T_PVAR_CLASS_STATE
732#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
733#define AMPI_T_PVAR_CLASS_LEVEL MPI_T_PVAR_CLASS_LEVEL
735#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
736#define AMPI_T_PVAR_CLASS_SIZE MPI_T_PVAR_CLASS_SIZE
738#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
739#define AMPI_T_PVAR_CLASS_PERCENTAGE MPI_T_PVAR_CLASS_PERCENTAGE
741#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
742#define AMPI_T_PVAR_CLASS_HIGHWATERMARK MPI_T_PVAR_CLASS_HIGHWATERMARK
744#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
745#define AMPI_T_PVAR_CLASS_LOWWATERMARK MPI_T_PVAR_CLASS_LOWWATERMARK
747#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
748#define AMPI_T_PVAR_CLASS_COUNTER MPI_T_PVAR_CLASS_COUNTER
750#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
751#define AMPI_T_PVAR_CLASS_AGGREGATE MPI_T_PVAR_CLASS_AGGREGATE
753#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
754#define AMPI_T_PVAR_CLASS_TIMER MPI_T_PVAR_CLASS_TIMER
756#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
757#define AMPI_T_PVAR_CLASS_GENERIC MPI_T_PVAR_CLASS_GENERIC
759#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
760#define AMPI_Aint MPI_Aint
762#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
763#define AMPI_Count MPI_Count
765#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
766#define AMPI_Fint MPI_Fint
768#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
769#define AMPI_Offset MPI_Offset
771#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
772#define AMPI_Status MPI_Status
774#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
775#define AMPI_F08_status MPI_F08_status
777#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
778#define AMPI_Comm MPI_Comm
780#if MEDI_MPI_VERSION_1_2 <= MEDI_MPI_TARGET
781#define AMPI_Errhandler MPI_Errhandler
783#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
784#define AMPI_File MPI_File
786#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
787#define AMPI_Group MPI_Group
789#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
790#define AMPI_Info MPI_Info
792#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
793#define AMPI_Win MPI_Win
795#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
796#define AMPI_T_enum MPI_T_enum
798#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
799#define AMPI_T_cvar_handle MPI_T_cvar_handle
801#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
802#define AMPI_T_pvar_handle MPI_T_pvar_handle
804#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
805#define AMPI_T_pvar_session MPI_T_pvar_session
807#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_3_0
808#define AMPI_UB MPI_UB
810#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_3_0
811#define AMPI_LB MPI_LB
813#if MEDI_MPI_VERSION_1_1 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_1_2
814#define AMPI_PENDING MPI_PENDING
816#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_3_0
817#define AMPI_COMBINER_HINDEXED_INTEGER MPI_COMBINER_HINDEXED_INTEGER
819#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_3_0
820#define AMPI_COMBINER_HVECTOR_INTEGER MPI_COMBINER_HVECTOR_INTEGER
822#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_3_0
823#define AMPI_COMBINER_STRUCT_INTEGER MPI_COMBINER_STRUCT_INTEGER
826#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
829#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
832#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
835#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
838#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
841#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
844#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
847#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
850#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
853#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
856#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_2_2
857 typedef MPI_Comm_errhandler_fn AMPI_Comm_errhandler_fn;
859#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_2_2
860 typedef MPI_Win_errhandler_fn AMPI_Win_errhandler_fn;
862#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_2_2
863 typedef MPI_File_errhandler_fn AMPI_File_errhandler_fn;
865#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
868#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
871#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
874#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
877#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
880#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
883#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
886#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET && MEDI_MPI_TARGET < MEDI_MPI_VERSION_3_0
887 typedef MPI_Handler_function AMPI_Handler_function;
892#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
895#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
898#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
901#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
904#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
907#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
910#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
913#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
916#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
919#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
922#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
925#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
928#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
931#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
938#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
941#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
944#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
947#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
950#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
953#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
956#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
959#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
962#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
965#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
968#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
971#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
974#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
977#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
980#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
983#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
986#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
989#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
992#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
995#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
998#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1001#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1004#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1007#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1010#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1013#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1016#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
1019#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
1022#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1025#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1028#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
1031#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1034#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1037#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1040#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1043#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1046#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1050#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1053#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1056#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1059#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1062#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1065#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
1068#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
1071#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1074#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1077#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1080#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1083#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
1086#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1089#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1092#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1095#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
1098#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1101#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1104#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1107#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1110#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1113#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1116#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1119#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1122#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1125#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
1128#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
1131#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
1134#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1137#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1140#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
1143#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1146#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1149#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1152#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1155#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
1158#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
Definition typePassive.hpp:52
Global namespace for MeDiPack - Message Differentiation Package.
Definition adjointInterface.hpp:37
MPI_User_function AMPI_User_function
Definition ampiDefinitions.h:827
MPI_Comm_errhandler_function AMPI_Comm_errhandler_function
Definition ampiDefinitions.h:848
AMPI_UINT8_T_Type * AMPI_UINT8_T
Definition ampiDefinitions.cpp:148
AMPI_UNSIGNED_Type * AMPI_UNSIGNED
Definition ampiDefinitions.cpp:112
MPI_Datarep_conversion_function AMPI_Datarep_conversion_function
Definition ampiDefinitions.h:878
MPI_Delete_function AMPI_Delete_function
Definition ampiDefinitions.h:884
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
MPI_File_errhandler_function AMPI_File_errhandler_function
Definition ampiDefinitions.h:854
MpiTypePassive< double > AMPI_DOUBLE_Type
Definition ampiDefinitions.h:978
MpiTypePassive< uint32_t > AMPI_UINT32_T_Type
Definition ampiDefinitions.h:1008
MPI_Win_copy_attr_function AMPI_Win_copy_attr_function
Definition ampiDefinitions.h:836
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
MPI_Win_delete_attr_function AMPI_Win_delete_attr_function
Definition ampiDefinitions.h:839
AMPI_BYTE_Type * AMPI_BYTE
Definition ampiDefinitions.cpp:169
MPI_Grequest_query_function AMPI_Grequest_query_function
Definition ampiDefinitions.h:866
MPI_Type_delete_attr_function AMPI_Type_delete_attr_function
Definition ampiDefinitions.h:845
MPI_Win_errhandler_function AMPI_Win_errhandler_function
Definition ampiDefinitions.h:851
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
MPI_Grequest_cancel_function AMPI_Grequest_cancel_function
Definition ampiDefinitions.h:872
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
MPI_Type_copy_attr_function AMPI_Type_copy_attr_function
Definition ampiDefinitions.h:842
AMPI_LONG_LONG_INT_Type * AMPI_LONG_LONG_INT
Definition ampiDefinitions.cpp:97
MPI_Datarep_extent_function AMPI_Datarep_extent_function
Definition ampiDefinitions.h:875
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
MPI_Copy_function AMPI_Copy_function
Definition ampiDefinitions.h:881
AMPI_UNSIGNED_LONG_LONG_Type * AMPI_UNSIGNED_LONG_LONG
Definition ampiDefinitions.cpp:118
MPI_Grequest_free_function AMPI_Grequest_free_function
Definition ampiDefinitions.h:869
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
MPI_Comm_delete_attr_function AMPI_Comm_delete_attr_function
Definition ampiDefinitions.h:833
MPI_Comm_copy_attr_function AMPI_Comm_copy_attr_function
Definition ampiDefinitions.h:830
AMPI_Op AMPI_MINLOC
Definition ampiDefinitions.cpp:57
Structure for the special handling of the MPI_Op structure.
Definition op.hpp:50