MeDiPack  1.3.0
A Message Differentiation Package
SciComp TU Kaiserslautern
Loading...
Searching...
No Matches
ampiDefinitions.cpp
Go to the documentation of this file.
1/*
2 * MeDiPack, a Message Differentiation Package
3 *
4 * Copyright (C) 2015-2024 Chair for Scientific Computing (SciComp), University of Kaiserslautern-Landau
5 * Homepage: http://scicomp.rptu.de
6 * Contact: Prof. Nicolas R. Gauger (codi@scicomp.uni-kl.de)
7 *
8 * Lead developers: Max Sagebaum (SciComp, University of Kaiserslautern-Landau)
9 *
10 * This file is part of MeDiPack (http://scicomp.rptu.de/software/codi).
11 *
12 * MeDiPack is free software: you can redistribute it and/or
13 * modify it under the terms of the GNU Lesser General Public
14 * License as published by the Free Software Foundation, either
15 * version 3 of the License, or (at your option) any later version.
16 *
17 * MeDiPack is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 * See the GNU Lesser General Public License for more details.
22 * You should have received a copy of the GNU
23 * Lesser General Public License along with MeDiPack.
24 * If not, see <http://www.gnu.org/licenses/>.
25 *
26 * Authors: Max Sagebaum, Tim Albring (SciComp, University of Kaiserslautern-Landau)
27 */
28
29#pragma once
30
31#include <mpi.h>
32
33#include "../macros.h"
34#include "ampiDefinitions.h"
35
39namespace medi {
40
41#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
43#endif
44#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
46#endif
47#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
49#endif
50#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
52#endif
53#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
55#endif
56#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
58#endif
59#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
61#endif
62#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
64#endif
65#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
67#endif
68#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
70#endif
71#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
73#endif
74#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
76#endif
77#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
79#endif
80#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
82#endif
83
84#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
86#endif
87#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
89#endif
90#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
92#endif
93#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
95#endif
96#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
98#endif
99#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
101#endif
102#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
104#endif
105#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
107#endif
108#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
110#endif
111#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
113#endif
114#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
116#endif
117#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
119#endif
120#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
122#endif
123#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
125#endif
126#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
128#endif
129#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
131#endif
132#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
134#endif
135#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
137#endif
138#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
140#endif
141#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
143#endif
144#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
146#endif
147#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
149#endif
150#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
152#endif
153#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
155#endif
156#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
158#endif
159#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
161#endif
162#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
164#endif
165#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
167#endif
168#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
170#endif
171#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
173#endif
174#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
176#endif
177#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
179#endif
180#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
182#endif
183#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
185#endif
186#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
188#endif
189#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
191#endif
192#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
194#endif
195
197#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
198 AMPI_MAX.init(MPI_MAX);
199#endif
200#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
201 AMPI_MIN.init(MPI_MIN);
202#endif
203#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
204 AMPI_SUM.init(MPI_SUM);
205#endif
206#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
207 AMPI_PROD.init(MPI_PROD);
208#endif
209#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
210 AMPI_MAXLOC.init(MPI_MAXLOC);
211#endif
212#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
213 AMPI_MINLOC.init(MPI_MINLOC);
214#endif
215#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
216 AMPI_BAND.init(MPI_BAND);
217#endif
218#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
219 AMPI_BOR.init(MPI_BOR);
220#endif
221#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
222 AMPI_BXOR.init(MPI_BXOR);
223#endif
224#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
225 AMPI_LAND.init(MPI_LAND);
226#endif
227#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
228 AMPI_LOR.init(MPI_LOR);
229#endif
230#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
231 AMPI_LXOR.init(MPI_LXOR);
232#endif
233#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
234 AMPI_REPLACE.init(MPI_REPLACE);
235#endif
236#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
237 AMPI_NO_OP.init(MPI_NO_OP);
238#endif
239 }
240
241 void initTypes() {
242#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
243 AMPI_CHAR = new AMPI_CHAR_Type(MPI_CHAR);
244#endif
245#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
246 AMPI_SHORT = new AMPI_SHORT_Type(MPI_SHORT);
247#endif
248#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
249 AMPI_INT = new AMPI_INT_Type(MPI_INT);
250#endif
251#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
252 AMPI_LONG = new AMPI_LONG_Type(MPI_LONG);
253#endif
254#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
255 AMPI_LONG_LONG_INT = new AMPI_LONG_LONG_INT_Type(MPI_LONG_LONG_INT);
256#endif
257#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
258 AMPI_LONG_LONG = new AMPI_LONG_LONG_Type(MPI_LONG_LONG);
259#endif
260#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
261 AMPI_SIGNED_CHAR = new AMPI_SIGNED_CHAR_Type(MPI_SIGNED_CHAR);
262#endif
263#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
264 AMPI_UNSIGNED_CHAR = new AMPI_UNSIGNED_CHAR_Type(MPI_UNSIGNED_CHAR);
265#endif
266#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
267 AMPI_UNSIGNED_SHORT = new AMPI_UNSIGNED_SHORT_Type(MPI_UNSIGNED_SHORT);
268#endif
269#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
270 AMPI_UNSIGNED = new AMPI_UNSIGNED_Type(MPI_UNSIGNED);
271#endif
272#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
273 AMPI_UNSIGNED_LONG = new AMPI_UNSIGNED_LONG_Type(MPI_UNSIGNED_LONG);
274#endif
275#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
276 AMPI_UNSIGNED_LONG_LONG = new AMPI_UNSIGNED_LONG_LONG_Type(MPI_UNSIGNED_LONG_LONG);
277#endif
278#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
279 AMPI_FLOAT = new AMPI_FLOAT_Type(MPI_FLOAT);
280#endif
281#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
282 AMPI_DOUBLE = new AMPI_DOUBLE_Type(MPI_DOUBLE);
283#endif
284#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
285 AMPI_LONG_DOUBLE = new AMPI_LONG_DOUBLE_Type(MPI_LONG_DOUBLE);
286#endif
287#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
288 AMPI_WCHAR = new AMPI_WCHAR_Type(MPI_WCHAR);
289#endif
290#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
291 AMPI_C_BOOL = new AMPI_C_BOOL_Type(MPI_C_BOOL);
292#endif
293#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
294 AMPI_INT8_T = new AMPI_INT8_T_Type(MPI_INT8_T);
295#endif
296#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
297 AMPI_INT16_T = new AMPI_INT16_T_Type(MPI_INT16_T);
298#endif
299#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
300 AMPI_INT32_T = new AMPI_INT32_T_Type(MPI_INT32_T);
301#endif
302#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
303 AMPI_INT64_T = new AMPI_INT64_T_Type(MPI_INT64_T);
304#endif
305#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
306 AMPI_UINT8_T = new AMPI_UINT8_T_Type(MPI_UINT8_T);
307#endif
308#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
309 AMPI_UINT16_T = new AMPI_UINT16_T_Type(MPI_UINT16_T);
310#endif
311#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
312 AMPI_UINT32_T = new AMPI_UINT32_T_Type(MPI_UINT32_T);
313#endif
314#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
315 AMPI_UINT64_T = new AMPI_UINT64_T_Type(MPI_UINT64_T);
316#endif
317#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
318 AMPI_AINT = new AMPI_AINT_Type(MPI_AINT);
319#endif
320#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
321 AMPI_COUNT = new AMPI_COUNT_Type(MPI_COUNT);
322#endif
323#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
324 AMPI_OFFSET = new AMPI_OFFSET_Type(MPI_OFFSET);
325#endif
326#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
327 AMPI_BYTE = new AMPI_BYTE_Type(MPI_BYTE);
328#endif
329#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
330 AMPI_PACKED = new AMPI_PACKED_Type(MPI_PACKED);
331#endif
332#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
333 AMPI_CXX_BOOL = new AMPI_CXX_BOOL_Type(MPI_CXX_BOOL);
334#endif
335#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
336 AMPI_FLOAT_INT = new AMPI_FLOAT_INT_Type(MPI_FLOAT_INT);
337#endif
338#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
339 AMPI_DOUBLE_INT = new AMPI_DOUBLE_INT_Type(MPI_DOUBLE_INT);
340#endif
341#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
342 AMPI_LONG_INT = new AMPI_LONG_INT_Type(MPI_LONG_INT);
343#endif
344#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
345 AMPI_2INT = new AMPI_2INT_Type(MPI_2INT);
346#endif
347#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
348 AMPI_SHORT_INT = new AMPI_SHORT_INT_Type(MPI_SHORT_INT);
349#endif
350#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
351 AMPI_LONG_DOUBLE_INT = new AMPI_LONG_DOUBLE_INT_Type(MPI_LONG_DOUBLE_INT);
352#endif
353 }
354
356#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
357 delete AMPI_CHAR;
358#endif
359#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
360 delete AMPI_SHORT;
361#endif
362#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
363 delete AMPI_INT;
364#endif
365#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
366 delete AMPI_LONG;
367#endif
368#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
369 delete AMPI_LONG_LONG_INT;
370#endif
371#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
372 delete AMPI_LONG_LONG;
373#endif
374#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
375 delete AMPI_SIGNED_CHAR;
376#endif
377#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
378 delete AMPI_UNSIGNED_CHAR;
379#endif
380#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
381 delete AMPI_UNSIGNED_SHORT;
382#endif
383#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
384 delete AMPI_UNSIGNED;
385#endif
386#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
387 delete AMPI_UNSIGNED_LONG;
388#endif
389#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
391#endif
392#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
393 delete AMPI_FLOAT;
394#endif
395#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
396 delete AMPI_DOUBLE;
397#endif
398#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
399 delete AMPI_LONG_DOUBLE;
400#endif
401#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
402 delete AMPI_WCHAR;
403#endif
404#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
405 delete AMPI_C_BOOL;
406#endif
407#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
408 delete AMPI_INT8_T;
409#endif
410#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
411 delete AMPI_INT16_T;
412#endif
413#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
414 delete AMPI_INT32_T;
415#endif
416#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
417 delete AMPI_INT64_T;
418#endif
419#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
420 delete AMPI_UINT8_T;
421#endif
422#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
423 delete AMPI_UINT16_T;
424#endif
425#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
426 delete AMPI_UINT32_T;
427#endif
428#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
429 delete AMPI_UINT64_T;
430#endif
431#if MEDI_MPI_VERSION_2_2 <= MEDI_MPI_TARGET
432 delete AMPI_AINT;
433#endif
434#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
435 delete AMPI_COUNT;
436#endif
437#if MEDI_MPI_VERSION_2_0 <= MEDI_MPI_TARGET
438 delete AMPI_OFFSET;
439#endif
440#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
441 delete AMPI_BYTE;
442#endif
443#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
444 delete AMPI_PACKED;
445#endif
446#if MEDI_MPI_VERSION_3_0 <= MEDI_MPI_TARGET
447 delete AMPI_CXX_BOOL;
448#endif
449#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
450 delete AMPI_FLOAT_INT;
451#endif
452#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
453 delete AMPI_DOUBLE_INT;
454#endif
455#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
456 delete AMPI_LONG_INT;
457#endif
458#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
459 delete AMPI_2INT;
460#endif
461#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
462 delete AMPI_SHORT_INT;
463#endif
464#if MEDI_MPI_VERSION_1_0 <= MEDI_MPI_TARGET
466#endif
467 }
468}
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