This library needs to be updated to support Apple Silicon; because the code hasn't been touched in a while, several changes are part of this:
Adding CI through GitHub actions
The CI script builds the statically-linked version of the library against source builds of GMP and MPFR, on both Ubuntu and macOS 11.
It also runs the full test suite.
Dependency updates
Newer versions of GMP and the JNI plugin we use were needed to support Apple Silicon.
Note that 4.x releases of MPFR change the assumed behaviour of printing (there's a subtle wording change in their documentation regarding the number of digits that get printed for the specifier %Re.[^1]).
This means we're pinned to 3.x for now; this shouldn't be a problem as it's effectively been the case for years.
Cleaning up build scripts
Removes the old build-* scripts and replaces them with up-to-date CI scripts that can also be run locally to build the project.
[^1]: Compare the paragraph beginning "If the precision field is empty..." in the 3.1.2 and current documentation.
This library needs to be updated to support Apple Silicon; because the code hasn't been touched in a while, several changes are part of this:
4.x
releases of MPFR change the assumed behaviour of printing (there's a subtle wording change in their documentation regarding the number of digits that get printed for the specifier%Re
.[^1]).3.x
for now; this shouldn't be a problem as it's effectively been the case for years.build-*
scripts and replaces them with up-to-date CI scripts that can also be run locally to build the project.[^1]: Compare the paragraph beginning "If the
precision
field is empty..." in the3.1.2
and current documentation.