143#define nonCriticalAssertion(expr) if (!(expr)) { \
144 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, "" ); \
148#define nonCriticalAssertion1(expr,param0) if (!(expr)) { \
149 std::ostringstream msg; \
150 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
151 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
155#define nonCriticalAssertion2(expr,param0,param1) if (!(expr)) { \
156 std::ostringstream msg; \
157 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
158 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
159 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
163#define nonCriticalAssertion3(expr,param0,param1,param2) if (!(expr)) { \
164 std::ostringstream msg; \
165 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
166 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
167 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
168 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
172#define nonCriticalAssertion4(expr,param0,param1,param2,param3) if (!(expr)) { \
173 std::ostringstream msg; \
174 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
175 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
176 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
177 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
178 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
182#define nonCriticalAssertion5(expr,param0,param1,param2,param3,param4) if (!(expr)) { \
183 std::ostringstream msg; \
184 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
185 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
186 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
187 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
188 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
189 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
193#define nonCriticalAssertion6(expr,param0,param1,param2,param3,param4,param5) if (!(expr)) { \
194 std::ostringstream msg; \
195 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
196 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
197 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
198 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
199 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
200 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
201 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
205#define nonCriticalAssertion7(expr,param0,param1,param2,param3,param4,param5,param6) if (!(expr)) { \
206 std::ostringstream msg; \
207 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
208 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
209 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
210 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
211 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
212 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
213 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
214 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
218#define nonCriticalAssertion8(expr,param0,param1,param2,param3,param4,param5,param6,param7) if (!(expr)) { \
219 std::ostringstream msg; \
220 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
221 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
222 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
223 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
224 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
225 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
226 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
227 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
228 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
232#define nonCriticalAssertion9(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8) if (!(expr)) { \
233 std::ostringstream msg; \
234 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
235 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
236 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
237 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
238 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
239 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
240 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
241 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
242 msg << "parameter " << #param8 << ": " << param8 << std::endl; \
243 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
247#define nonCriticalAssertion10(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9) if (!(expr)) { \
248 std::ostringstream msg; \
249 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
250 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
251 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
252 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
253 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
254 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
255 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
256 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
257 msg << "parameter " << #param8 << ": " << param8 << std::endl; \
258 msg << "parameter " << #param9 << ": " << param9 << std::endl; \
259 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
263#define nonCriticalAssertion11(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10) if (!(expr)) { \
264 std::ostringstream msg; \
265 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
266 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
267 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
268 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
269 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
270 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
271 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
272 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
273 msg << "parameter " << #param8 << ": " << param8 << std::endl; \
274 msg << "parameter " << #param9 << ": " << param9 << std::endl; \
275 msg << "parameter " << #param10 << ": " << param10 << std::endl; \
276 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
280#define nonCriticalAssertion12(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11) if (!(expr)) { \
281 std::ostringstream msg; \
282 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
283 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
284 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
285 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
286 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
287 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
288 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
289 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
290 msg << "parameter " << #param8 << ": " << param8 << std::endl; \
291 msg << "parameter " << #param9 << ": " << param9 << std::endl; \
292 msg << "parameter " << #param10 << ": " << param10 << std::endl; \
293 msg << "parameter " << #param11 << ": " << param11 << std::endl; \
294 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
298#define nonCriticalAssertion13(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12) if (!(expr)) { \
299 std::ostringstream msg; \
300 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
301 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
302 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
303 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
304 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
305 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
306 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
307 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
308 msg << "parameter " << #param8 << ": " << param8 << std::endl; \
309 msg << "parameter " << #param9 << ": " << param9 << std::endl; \
310 msg << "parameter " << #param10 << ": " << param10 << std::endl; \
311 msg << "parameter " << #param11 << ": " << param11 << std::endl; \
312 msg << "parameter " << #param12 << ": " << param12 << std::endl; \
313 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
317#define nonCriticalAssertion14(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13) if (!(expr)) { \
318 std::ostringstream msg; \
319 msg << "parameter " << #param0 << ": " << param0 << std::endl; \
320 msg << "parameter " << #param1 << ": " << param1 << std::endl; \
321 msg << "parameter " << #param2 << ": " << param2 << std::endl; \
322 msg << "parameter " << #param3 << ": " << param3 << std::endl; \
323 msg << "parameter " << #param4 << ": " << param4 << std::endl; \
324 msg << "parameter " << #param5 << ": " << param5 << std::endl; \
325 msg << "parameter " << #param6 << ": " << param6 << std::endl; \
326 msg << "parameter " << #param7 << ": " << param7 << std::endl; \
327 msg << "parameter " << #param8 << ": " << param8 << std::endl; \
328 msg << "parameter " << #param9 << ": " << param9 << std::endl; \
329 msg << "parameter " << #param10 << ": " << param10 << std::endl; \
330 msg << "parameter " << #param11 << ": " << param11 << std::endl; \
331 msg << "parameter " << #param12 << ": " << param12 << std::endl; \
332 msg << "parameter " << #param13 << ": " << param13 << std::endl; \
333 ::tarch::triggerNonCriticalAssertion( __FILE__, __LINE__, #expr, msg.str() ); \
336#define nonCriticalAssertion(expr)
337#define nonCriticalAssertion1(expr,param0)
338#define nonCriticalAssertion2(expr,param0,param1)
339#define nonCriticalAssertion3(expr,param0,param1,param2)
340#define nonCriticalAssertion4(expr,param0,param1,param2,param3)
341#define nonCriticalAssertion5(expr,param0,param1,param2,param3,param4)
342#define nonCriticalAssertion6(expr,param0,param1,param2,param3,param4,param5)
343#define nonCriticalAssertion7(expr,param0,param1,param2,param3,param4,param5,param6)
344#define nonCriticalAssertion8(expr,param0,param1,param2,param3,param4,param5,param6,param7)
345#define nonCriticalAssertion9(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8)
346#define nonCriticalAssertion10(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9)
347#define nonCriticalAssertion11(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10)
348#define nonCriticalAssertion12(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11)
349#define nonCriticalAssertion13(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12)
350#define nonCriticalAssertion14(expr,param0,param1,param2,param3,param4,param5,param6,param7,param8,param9,param10,param11,param12,param13)
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.
bool hasNonCriticalAssertionBeenViolated()
void shutdownNonCriticalAssertionEnvironment()
peano4::shutdownParallelEnvironment().
void initNonCriticalAssertionEnvironment()
Register the assertion tag from the global communicator.
void enableNonCriticalAssertions(bool value)
Switch noncritical assertions on/off.
void triggerNonCriticalAssertion(std::string file, int line, std::string expression, std::string parameterValuePairs)
Trigger a non-critical assertion.