@@ -71,18 +71,6 @@ class CBaseMPIWrapper;
7171typedef CBaseMPIWrapper SU2_MPI;
7272#endif // defined CODI_REVERSE_TYPE || defined CODI_FORWARD_TYPE
7373
74- /* --- Select the appropriate MPI wrapper based on datatype, to use in templated classes. ---*/
75- template <class T > struct SelectMPIWrapper { typedef SU2_MPI W; };
76-
77- /* --- In AD we specialize for the passive wrapper. ---*/
78- #if defined CODI_REVERSE_TYPE
79- class CBaseMPIWrapper ;
80- template <> struct SelectMPIWrapper <passivedouble> { typedef CBaseMPIWrapper W; };
81- #if defined USE_MIXED_PRECISION
82- template <> struct SelectMPIWrapper <su2mixedfloat> { typedef CBaseMPIWrapper W; };
83- #endif
84- #endif
85-
8674/* !
8775 * \class CMPIWrapper
8876 * \brief Class for defining the MPI wrapper routines; this class features as a base class for
@@ -326,6 +314,7 @@ class CMediMPIWrapper: public CBaseMPIWrapper {
326314#define MPI_UNSIGNED_LONG 1
327315#define MPI_LONG 2
328316#define MPI_UNSIGNED_SHORT 3
317+ #define MPI_FLOAT 4
329318#define MPI_DOUBLE 4
330319#define MPI_ANY_SOURCE 5
331320#define MPI_SUM 6
@@ -455,6 +444,17 @@ typedef CBaseMPIWrapper SU2_MPI;
455444
456445#endif
457446
447+ /* --- Select the appropriate MPI wrapper based on datatype, to use in templated classes. ---*/
448+ template <class T > struct SelectMPIWrapper { typedef SU2_MPI W; };
449+
450+ /* --- In AD we specialize for the passive wrapper. ---*/
451+ #if defined CODI_REVERSE_TYPE
452+ template <> struct SelectMPIWrapper <passivedouble> { typedef CBaseMPIWrapper W; };
453+ #if defined USE_MIXED_PRECISION
454+ template <> struct SelectMPIWrapper <su2mixedfloat> { typedef CBaseMPIWrapper W; };
455+ #endif
456+ #endif
457+
458458/* Depending on the compiler, define the correct macro to get the current function name */
459459
460460#if defined(__GNUC__) || (defined(__ICC) && (__ICC >= 600))
0 commit comments