Make sure frexp() returns correct for argument 0.0
Previous functions in gromacs have never called frexp
with argument 0.0, but cbrt() needs this. This will not
have caused any bugs, but since it results in FP
exceptions in debug builds we want to have it fixed
so our unit tests work.
This change adds the correct behavior for all x86
SIMD instruction sets, and it has also been tested
on all of them in both single and double, with the
exception for MIC (which should be correct, but we
cannot test it).
The ARM SIMD flavors have not yet been fixed yet
since the ARM build fails due to an apparent nblib
error. Once that is fixed, I will add it in a separate
change and close the issue.
Refs #3773.
23 files changed: