This tool runs a bunch of accuracy and performance tests on standard
math functions. The accuracy is measured against the MPFR library, which
provides results precise enough to be correctly rounded to double
precision floating points.
By default, the tool test the math functions from AK but a runtime flag
can be used to instead test the system's libm.
A few test cases are internally generated, but to get more precise
results the tool is capable of reading worst-cases files from the
CORE-MATH project. The location of the repository should be given with
the --core-math PATH option.
Heavily inspired by https://github.com/nico/js-math-bench.
These caches have been squatting the repo's storage for no good reasons.
They can only be reused by the same PR and due to our big cache sizes,
their addition to the repo's storage can easily evict some good entries
from the master branch.
Since e5f361500e we included a timestamp in these cache keys.
But doing so should be unnecessary, since hashing the respective CMake
scripts should be enough as they already include the expected SHA256
hashes of the files to download.
This should cause less duplicate caches, since we now get exact matches
of the cache key instead of falling back to the restore key.
If no exact cache key match was found, GitHub actions creates a new
cache.
We now get the command line from the flattened devicetree, so manually
building a newer QEMU version to make the RPi "Get command line" mailbox
message work is not necessary anymore.
We're now getting errors on CI due to gcc-13 being missing. We can
probably be smarter about what packages we install, depending on the
workflow being run. But let's first unblock CI.
The error we get is a bit strange and inconsistent. Some CI runners seem
to already have gcc-13 installed. Others don't and can't find the gcc-13
package without the test Ubuntu toolchain PPA.
Unfortunately a composite action cannot have a `post:` step like
JavaScript actions are allowed to have, so we need to explicitly call
the post/save actions ourselves from the workflow file when we want to
save Toolchain/QEMU/ccache caches.
Co-Authored-By: Timothy Flynn <[email protected]>