Replace libc assertions by Peano assertions
LibC assertions are always checked, unless NDEBUG
is set (we never do that). Instead, we have Peano assertions. tarch/Assertions.h
also defines the assert
macro (so one cannot exactly know which one is called, if one is not picky about the include file ordering). For safety, always use Peanos assert1
in a one-parametric assertion.
An instance for a wrong use is the current master minmod
function: https://gitlab.lrz.de/exahype/ExaHyPE-Engine/blob/master/ExaHyPE/kernels/finitevolumes/musclhancock/c/3d/musclhancock.cpph#L28
It is easy to search other occurances of wrong assertion uses.
The overall idea is that in Release mode, such assertions are not checked, especially not on hot paths such as the scalar minmod
function in the given example.