15 #include "../config/config.hpp"
28 #ifndef _MFEM_FUNC_NAME
31 #define _MFEM_FUNC_NAME __PRETTY_FUNCTION__
36 #define _MFEM_FUNC_NAME __FUNCSIG__
41 #define _MFEM_MESSAGE(msg, warn) \
43 std::ostringstream s; \
44 s << std::setprecision(16); \
45 s << std::setiosflags(std::ios_base::scientific); \
47 s << " ... at line " << __LINE__; \
48 s << " in " << _MFEM_FUNC_NAME << " of file " << __FILE__ << "."; \
51 mfem::mfem_error(s.str().c_str()); \
53 mfem::mfem_warning(s.str().c_str()); \
61 #define MFEM_ABORT(msg) _MFEM_MESSAGE("MFEM abort: " << msg, 0)
64 #define MFEM_VERIFY(x, msg) \
67 _MFEM_MESSAGE("Verification failed: (" \
68 << #x << ") is false: " << msg, 0); \
77 #define MFEM_CONTRACT_VAR(x) if (0 && &x == &x){}
82 #define MFEM_ASSERT(x, msg) \
85 _MFEM_MESSAGE("Assertion failed: (" \
86 << #x << ") is false: " << msg, 0); \
92 #define MFEM_ASSERT(x, msg)
97 #define MFEM_WARNING(msg) _MFEM_MESSAGE("MFEM Warning: " << msg, 1)
void mfem_warning(const char *msg)
void mfem_error(const char *msg)