Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • ExaHyPE-Engine ExaHyPE-Engine
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 68
    • Issues 68
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

9.2.2023: Due to updates GitLab will be unavailable for some minutes between 9:00 and 11:00.

  • ExaHyPEExaHyPE
  • ExaHyPE-EngineExaHyPE-Engine
  • Issues
  • #273
Closed
Open
Issue created Mar 18, 2019 by Sven Köppel@svenk2Owner

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.

Assignee
Assign to
Time tracking

LRZ Homepage | Datenschutz | Dokumentation und Betriebsbedingungen | Impressum