GNU MPFR version 4.2.2 (released on 20 March 2025)
The fondue savoyarde release, patch level 2.
MPFR 4.2.2 requires GMP 5.0 or higher.
Download
The MPFR 4.2.2 source can be downloaded in the following archive formats:
- mpfr-4.2.2.tar.xz (tar/xz, 1.5 MB, signature),
- mpfr-4.2.2.tar.bz2 (tar/bzip2, 1.7 MB, signature),
- mpfr-4.2.2.tar.gz (tar/gzip, 2.2 MB, signature),
- mpfr-4.2.2.zip (zip, 2.6 MB, signature).
Each tarball is signed by Vincent Lefèvre. This can be verified using the DSA key ID 5831D11A0D4DB02A; this key can be retrieved with:
gpg --recv-keys 5831D11A0D4DB02A
or by downloading it from https://www.vinc17.net/pgp.html. The key fingerprint is:
A534 BE3F 83E2 41D9 1828 0AEB 5831 D11A 0D4D B02A
The signatures can be verified with:
gpg --verify file.asc
You should check that the key fingerprint matches.
MPFR is also available via third-party packages and ports.
Documentation
Bugs
See the BUGS file. The Reporting Bugs section of the MPFR manual gives details on how to report new bugs.
Changes from version 4.2.1 to version 4.2.2
- In order to resolve a portability issue with the
_Float128
fallback to __float128
for binary128 support (e.g. with Clang and glibc 2.41), the prototypes of the corresponding conversion functions had to be changed, with _Float128
replaced by mpfr_float128
, where mpfr_float128
is a macro defined as _Float128
by default. This changes neither the ABI nor the API (except that the end user of MPFR would need to define mpfr_float128
as the actual type for the binary128 format if this is not the standard _Float128
type).
- Other bug fixes (see the fixed bugs on the MPFR 4.2.1 page and/or the ChangeLog file). In particular, the formatted output functions behaved incorrectly with %c on the value 0; such a use is uncommon, but this bug may have security implications.
- Improved MPFR manual.
- Detect the use of GMP's buggy
vsnprintf
replacement at configure time. With it, the tests of "%a"
will be disabled to avoid an assertion failure in the MPFR testsuite. A warning will be displayed in the configure output in such a case.
MPFR 4.2.2 has been successfully compiled and checked on the following platforms:
- aarch64-apple-darwin21.6.0 (clang 14.0.0);
- aarch64-unknown-linux-gnu (gcc 8.5.0 and 14.2.0, clang 19.1.7 on Termux/Android, tcc mob branch);
- aarch64-unknown-linux-musl (gcc 14.2.0);
- i686-w64-mingw32 (Wine, gcc 14-win32);
- mips-unknown-linux-gnu (o32 and n32 ABI, gcc 8.3.0);
- powerpc-ibm-aix7.3.1.0 (IBM POWER8, gcc 10.3.0);
- powerpc64-unknown-linux-gnu (IBM POWER7, gcc 4.8.5);
- powerpc64le-unknown-linux-gnu (IBM POWER8, gcc 4.8.5; IBM POWER9, gcc 4.8.5 and 8.3.1, IBM XL C/C++ 16.1.1.3);
- riscv64-unknown-freebsd15.0 (clang 19.1.7);
- riscv64-unknown-linux-gnu (gcc 13.3.0);
- sparc-sun-solaris2.9 (gcc 4.6.4);
- sparc-sun-solaris2.10 (gcc 5.5.0, Studio 12.6 Sun C 5.15 2017/05/30);
- x86_64-pc-linux-gnu (gcc 4.8.5, 4.9.4, 5.5.0, 6.5.0, 8.4.0, 9.5.0, 10.5.0, 12.2.0, 14.2.0 and 15.0.1 snapshot, g++ 4.9 and 14.2.0, clang 3.6.2, 3.7.1, 6.0.1, 7.0.1, 8.0.1, 9.0.1, 10.0.1, 11.1.0, 12.0.1, 13.0.1, 14.0.6, 15.0.7, 16.0.6, 17.0.6 and 18.1.8, Intel oneAPI icx 2021.3.0, and tcc 0.9.27);
- x86_64-pc-linux-musl (gcc 14.2.0).
Back to the MPFR page.