Fixes for aarch64 and macOS
On some architectures fused multiply-add operations are available, which may increase speed/accuracy, but may also introduce other numerical errors and deviations. One instance of this caused a number that should be zero or positive to be slightly negative instead, which then gives a NaN when raised to 1/3. Perhaps adding -ffp-contract=off
to gfortran, or equivalent to other compilers, would be beneficial. See e.g. https://bugs.mysql.com/bug.php?id=82760
On macOS some standard C functions are not available by default, apparently adding _DARWIN_C_SOURCE
to the preprocessor definitions fixes this so far.
Known issues:
-
Test 259 fails on Ubuntu/aarch64 (gfortran 7.5.0), due to slightly different results. It's fixed with
-ffp-contract=off
. -
Tests 407, 414, 415, 416, 417, 419, 421 crash on macOS/aarch64 (gfortran 10.2.1), apparently due to
INTERNAL_PROC_ARG
.
This should fix #189 (closed), #218 (closed) and #249 (closed)
-
Documentation updated or not needed. -
Test created or not needed. -
Attribution in source files and CONTRIBUTORS.md
updated if necessary.