xref: /petsc/src/dm/impls/plex/adaptors/mmgcommon.h (revision 9371c9d470a9602b6d10a8bf50c9b2280a79e45a)
15f80ce2aSJacob Faibussowitsch #ifndef PETSC_DM_PLEX_MMGCOMMON_H
25f80ce2aSJacob Faibussowitsch #define PETSC_DM_PLEX_MMGCOMMON_H
35f80ce2aSJacob Faibussowitsch 
45f80ce2aSJacob Faibussowitsch #include <petsc/private/dmpleximpl.h>
55f80ce2aSJacob Faibussowitsch 
6*9371c9d4SSatish Balay #define PetscCallMMG_Private(ret, ...) \
7*9371c9d4SSatish Balay   do { \
8792fecdfSBarry Smith     PetscStackPushExternal(PetscStringize(__VA_ARGS__)); \
95f80ce2aSJacob Faibussowitsch     PetscErrorCode PETSC_UNUSED mmg_ierr_ = __VA_ARGS__; \
105f80ce2aSJacob Faibussowitsch     PetscStackPop; \
115f80ce2aSJacob Faibussowitsch     /* PetscCheck(mmg_ierr_ == (ret),PETSC_COMM_SELF,PETSC_ERR_LIB,"Error calling %s: error code %d",PetscStringize(__VA_ARGS__),mmg_ierr_); */ \
125f80ce2aSJacob Faibussowitsch   } while (0)
135f80ce2aSJacob Faibussowitsch 
145f80ce2aSJacob Faibussowitsch // MMG sometimes returns 1, sometimes 0 when an error has occurred
159566063dSJacob Faibussowitsch #define PetscCallMMG(...)             PetscCallMMG_Private(MMG5_SUCCESS, __VA_ARGS__)
169566063dSJacob Faibussowitsch #define PetscCallMMG_NONSTANDARD(...) PetscCallMMG_Private(1, __VA_ARGS__)
175f80ce2aSJacob Faibussowitsch #endif // PETSC_DM_PLEX_MMGCOMMON_H
18