Add instrumentation for floating-point exceptions
Description
Trap floating-point exceptions in parts of the code. Example:
Debug = instrument
%InstrumentFunctions
"electrons/eigensolver.F90.eigensolver_run" | fenv
%
Basically equivalent to recompiling with -ffpe-trap=zero,invalid,overflow,underflow
, but switchable at runtime and selective on a per-function basis.
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.
Edited by Henri Menke