Go to the documentation of this file.
45 #define LINE_SIZE 65536
58 #define SET_ARRAY_NULL(ptrs,n) do {int i; for(i=0;i<n;i++) *(ptrs+i)=NULL;} while (0)
60 #define SET_ARRAY_ZERO(array,n) memset((array), 0, sizeof(*(array))*(n))
63 #define BOOL_2_STR(i) ( (i) ? "No" : "Yes" )
85 #define INPUT_CHECK(i,...) do { if (!(i)) xprintf(UsrErr,__VA_ARGS__); } while (0)
100 #ifdef Flow123d_NODEBUG
102 #undef DEBUG_MESSAGES
104 #undef DEBUG_PROFILER
105 #undef DEBUG_FUNCTION_STACK
110 #ifdef Flow123d_DEBUG
112 #define DEBUG_MESSAGES
113 #define DEBUG_ASSERTS
114 #define DEBUG_PROFILER
115 #define DEBUG_FUNCTION_STACK
129 #ifdef DEBUG_ASSERTS_WITHOUT_MPI
130 #define MPI_Comm_rank(A, B)
131 #endif // DEBUG_ASSERTS_WITHOUT_MPI
133 #define ASSERT(i,...) do {\
136 sprintf( msg, __VA_ARGS__);\
138 MPI_Comm_rank(MPI_COMM_WORLD, &rank);\
139 THROW( ExcAssertMsg() << EI_Message(std::string(msg)) << EI_MPI_Rank(rank) );\
142 #define WARN_ASSERT(i,...) do { if (!(i)) xprintf(Warn,__VA_ARGS__); } while (0)
148 #define WARN_ASSERT(...)
156 #define ASSERT_EQUAL( a, b) do {\
157 stringstream ss; ss << (a) << " != " << (b); \
158 ASSERT( ((a) == (b)), "Violated assert: %s == %s,\n observed: %s.\n",#a, #b, ss.str().c_str()); \
162 #define ASSERT_EQUAL( a, b)
170 #define ASSERT_LESS( a, b) do {\
171 stringstream ss; ss << (a) << " >= " << (b); \
172 ASSERT( ((a) < (b)) , "Violated assert: %s < %s,\n observed: %s.\n",#a,#b, ss.str().c_str()); \
178 #if defined(ASSERT_LE) && defined(FLOW123D_INCLUDES_GTEST)
183 #define ASSERT_LE( a, b) do {\
184 stringstream ss; ss << (a) << " > " << (b); \
185 ASSERT( ((a) <= (b)) , "Violated assert: %s <= %s,\n observed: %s.\n",#a,#b, ss.str().c_str()); \
190 #define ASSERT_LESS( a, b)
191 #define ASSERT_LE( a, b)
198 #ifdef DEBUG_MESSAGES
200 #define DBGMSG(...) do { xprintf(MsgDbg,__VA_ARGS__); fflush(NULL); } while (0)
204 #define DBGPRINT_INT(name,size,idx) \
207 xprintf(Msg, "%s (int array size=%d):\n",(name),(size));\
208 for(i__=0;i__<(size);i__++) \
209 xprintf(Msg,"i: %d int: %d\n",i__,(idx)[i__]); \
219 #define DBGCOUT(...) do { std::cout << " DBG (" \
220 << __FILE__ << ", " \
221 << __func__ << ", " \
223 __VA_ARGS__; } while(0)
230 #define DBGVAR( var ) DBGCOUT( << #var << " = " << var << endl )
235 #define DBGPRINT_INT(...)
243 #endif // GLOBAL_DEFS_H