gmp-mpfr-sys
Rust FFI bindings for GMP, MPFR and MPC.
1.7.1
5.6M downloads/mo
#4278 most downloaded on crates.io
source
What this package is like to depend on
Last release 4 months ago
25 Apr 2026
Release timing varies
gaps range from 2 weeks to 10 months
Most releases are documented
notes for 59 of 72 stable releases
Nothing withdrawn
no release was ever pulled
10 years old
72 releases · first in 2017
3 releases in the last 12 months
see the full history below
Release timeline
72 releases · Jan 2017 to Apr 2026
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 60 of 72-
1.7.125 Apr 2026 -
1.7.019 Mar 2026Release notes
Open source →- The crate now requires rustc version 1.71.0 or later.
- [MPC] was updated from version 1.3.1 to 1.4.0.
- The crate now requires rustc version 1.71.0 or later.
-
1.6.803 Sep 2025Release notes
Open source →- Bug fix: build was failing for some gcc versions (issue 43, merge request 6).
-
1.6.721 Aug 2025 -
1.6.520 Mar 2025Release notes
Open source →- [MPFR] was updated from version 4.2.1 to 4.2.2.
- 32-bit MSYS2 MinGW is no longer tested and mentioned in the documentation.
- [MPFR] was updated from version 4.2.1 to 4.2.2.
-
1.6.405 Jun 2024Release notes
Open source →- The license headers in the documentation for the GNU libraries were being inadvertently removed from the html files (issue 34).
-
1.6.330 May 2024Release notes
Open source →- Make cross-compiling to MinGW use a host understood by [GMP] (merge request 5).
-
1.6.220 Jan 2024Release notes
Open source →- Bug fix: when using system libs, the build would fail for some cases (issue 32).
-
1.6.123 Aug 2023 -
1.6.030 Jul 2023Release notes
Open source →- [GMP] was updated from version 6.2.1 to 6.3.0.
- [MPFR] was updated from version 4.2.0-p9 to 4.2.0-p12.
- [GMP] was updated from version 6.2.1 to 6.3.0.
-
1.5.322 May 2023 -
1.5.226 Mar 2023Release notes
Open source →- Bug fix: <code>[mpfr][mpfr-1-5]::pow_sj</code> and
<code>[mpfr][mpfr-1-5]::pow_uj</code> were linking
to the wrong MPFR function name (issue 30).
- The commits
0216f40ed..a041c7cbbfrom the [4.2 branch][mpfr 4.2 branch] of [MPFR] were merged.
- The commits
- Bug fix: <code>[mpfr][mpfr-1-5]::pow_sj</code> and
<code>[mpfr][mpfr-1-5]::pow_uj</code> were linking
to the wrong MPFR function name (issue 30).
-
1.5.128 Feb 2023Release notes
Open source →- The commits
01a3ed526..78ff7526dand80ea348b3..0216f40edfrom the 4.2 branch of [MPFR] were merged.
- The commits
-
1.5.006 Jan 2023Release notes
Open source →- The crate now requires rustc version 1.65.0 or later.
- [MPFR] was updated from version 4.1.1-p1 to 4.2.0.
- [MPC] was updated from version 1.2.1 to 1.3.1.
- The following functions are now
constfunctions:- <code>gmp::mpz_sgn</code>, <code>gmp::mpq_sgn</code>, <code>gmp::mpf_sgn</code>
- <code>gmp::mpz_odd_p</code>, <code>gmp::mpz_even_p</code>
- <code>gmp::mpz_fits_ulong_p</code>, <code>gmp::mpz_fits_uint_p</code>, <code>gmp::mpz_fits_ushort_p</code>
- <code>gmp::mpz_getlimbn</code>, <code>gmp::mpz_size</code>,
- <code>gmp::mpq_numref</code>, <code>gmp::mpq_numref_const</code>, <code>gmp::mpq_denref</code>, <code>gmp::mpq_denref_const</code>
- <code>mpfr::get_prec</code>,
- <code>mpfr::nan_p</code>, <code>mpfr::inf_p</code>, <code>mpfr::number_p</code>, <code>mpfr::zero_p</code>, <code>mpfr::regular_p</code>
- <code>mpfr::get_exp</code>, <code>mpfr::signbit</code>
- <code>mpfr::VERSION_NUM</code>
- <code>mpfr::custom_get_size</code>, <code>mpfr::custom_init</code>, <code>mpfr::custom_get_kind</code>, <code>mpfr::custom_get_significand</code>, <code>mpfr::custom_get_exp</code>
- <code>mpc::INEX_RE</code>, <code>mpc::INEX_IM</code>, <code>mpc::INEX1</code>, <code>mpc::INEX2</code>
- <code>mpc::realref</code>, <code>mpc::realref_const</code>, <code>mpc::imagref</code>, <code>mpc::imagref_const</code>
- <code>mpc::VERSION_NUM</code>
- The <code>gmp::MPZ_ROINIT_N</code> function is
now
extern "C".
- The crate now requires rustc version 1.65.0 or later.
-
1.4.1328 Feb 2023Release notes
Open source →- The commits
66d78412f..53da44400and3d3e2d9b0..5a1b1f9a2from the 4.1 branch of [MPFR] were merged.
- The commits
-
1.4.1211 Dec 2022Release notes
Open source →- [MPFR] was updated from version 4.1.1 to 4.1.1-p1.
- Bug fix: compilation fixed for new git repositories without HEAD, such as for a new cargo project (issue 27).
- [MPFR] was updated from version 4.1.1 to 4.1.1-p1.
-
1.4.1117 Nov 2022 -
1.4.1006 Aug 2022Release notes
Open source →- All the changesets until
402b9c4efacbfrom the [gmp-6.2 branch] of [GMP] were merged.- [MPFR] is now configured with
--disable-decimal-float --disable-float128which avoids some failed tests with Clang in some situations. - Build caching should now work properly when the
CFLAGSenvironment variable is set during compilation.
- [MPFR] is now configured with
- All the changesets until
-
1.4.920 Jul 2022Release notes
Open source →- Link system libraries statically in case of static musl target (merge
request 2).
- The
f4ff6ff711edchangeset from the gmp-6.2 branch of [GMP] was merged to avoid thex18register for arm64 since it is reserved in Darwin (issue 25).
- The
- Link system libraries statically in case of static musl target (merge
request 2).
-
1.4.812 Apr 2022Release notes
Open source →- Bug fix: <code>[mpfr][mpfr-1-4]::[rootn_ui][mpfr-ru-1-4]</code> was linking
to the MPFR function
mpfr_rootinstead ofmpfr_rootn_ui.
- Bug fix: <code>[mpfr][mpfr-1-4]::[rootn_ui][mpfr-ru-1-4]</code> was linking
to the MPFR function
-
1.4.723 Sep 2021Release notes
Open source →- Bug fix: prefer
CCenvironment variable overgccwhen probing system libraries for theuse-system-libsfeature (issue 20).
- Bug fix: prefer
-
1.4.629 Jul 2021 -
1.4.523 Apr 2021 -
1.4.425 Mar 2021 -
1.4.314 Feb 2021Release notes
Open source →- [MPFR] was updated from version 4.1.0 to 4.1.0-p7.
- The [
GMP_MPFR_SYS_CACHE][cache-1-4] environment variable can now also be set to a single underscore ("_") to disable caching, in case setting it to an empty string is not possible in some system.
- The [
- [MPFR] was updated from version 4.1.0 to 4.1.0-p7.
-
1.4.218 Nov 2020 -
1.4.125 Oct 2020Release notes
Open source →- [MPC] was updated from version 1.2.0 to 1.2.1.
- The [
c-no-tests][feat-exp-1-4] experimental feature was added.
- The [
- [MPC] was updated from version 1.2.0 to 1.2.1.
-
1.4.002 Sep 2020 -
1.3.117 Jul 2020 -
1.3.013 Jul 2020Release notes
Open source →- [MPFR] was updated from version 4.0.2-p9 to 4.1.0.
- The internal details of
<code>gmp::mpz_t</code>,
<code>gmp::mpf_t</code>,
<code>gmp::randseed_t</code> and
<code>mpfr::mpfr_t</code> have been
changed to use [
NonNull] instead of [mutable pointers][pointer]. - The internal details of <code>gmp::randfnptr_t</code> have been changed to reflect that its functions are not nullable.
- Cross compilation will now fail if the experimental feature
force-crossis not enabled, because cross compilation is not tested or supported and can lead to silent failures that are hard to debug, especially if this crate is an indirect dependency.
- The internal details of
<code>gmp::mpz_t</code>,
<code>gmp::mpf_t</code>,
<code>gmp::randseed_t</code> and
<code>mpfr::mpfr_t</code> have been
changed to use [
- [MPFR] was updated from version 4.0.2-p9 to 4.1.0.
-
1.2.414 Jun 2020 -
1.2.301 Jun 2020Release notes
Open source →- The experimental feature
force-crosswas added. It is ignored in version 1.2 but will be required for cross compilation attempts from version 1.3, because cross compilation is not tested or supported and can lead to silent failures that are hard to debug, especially if this crate is an indirect dependency.- Bug fix: cross-compilation C libraries were being cached in the same directory as native C libraries.
- The experimental feature
-
1.2.208 Apr 2020Release notes
Open source →- [MPFR] was updated from version 4.0.2-p1 to 4.0.2-p7.
- The missing function <code>[gmp][gmp-1-2]::[MPZ_ROINIT_N][gmp-mrn-1-2]</code> was added.
- The missing macro [
MPFR_DECL_INIT][mpfr-di-1-2] was added.
- [MPFR] was updated from version 4.0.2-p1 to 4.0.2-p7.
-
1.2.113 Mar 2020Release notes
Open source →- Some improvements were made to enable compilation or cross compilation on more platforms. While such platforms are not tested automatically and may not work, merge requests that improve the situation are accepted.
-
1.2.018 Jan 2020Release notes
Open source →- The crate now requires rustc version 1.37.0 or later.
- The crate now supports [
no_std]. - [GMP] was updated from version 6.1.2 to 6.2.0.
- The implementation details of <code>gmp::randstate_t</code> have been changed to reflect that [GMP] can leave some fields unused and uninitialized.
- The experimental feature
use-system-libswas added.
- The crate now supports [
- The crate now requires rustc version 1.37.0 or later.
-
1.1.1404 Jul 2019Release notes
Open source →- [MPFR] was updated from version 4.0.2 to 4.0.2-p1.
- The documentation examples now use [
MaybeUninit] instead of <code>[mem][mem]::[uninitialized][uninitialized]</code>.
- The documentation examples now use [
- [MPFR] was updated from version 4.0.2 to 4.0.2-p1.
-
1.1.1317 May 2019Release notes
Open source →- Expose the internal fields of <code>[gmp][gmp-1-1]::[mpq_t][gmp-mpq-1-1]</code>, <code>[gmp][gmp-1-1]::[randstate_t][gmp-rs-1-1]</code> and <code>[mpc][mpc-1-1]::[mpc_t][mpc-mpc-1-1]</code>, and add some notes about compatibility in the documentation.
-
1.1.1208 Mar 2019 -
1.1.1101 Feb 2019 -
1.1.1004 Jan 2019Release notes
Open source →- Update [MPFR] 4.0.1-p13 -> 4.0.1-p14.
- During Windows build use
<code>[std][
std]::[os][os]::[windows][windows]::[fs][fs]::[symlink_dir][symlink_dir]</code> to save on some copying if allowed (Windows 1703+ developer mode).
- During Windows build use
<code>[std][
- Update [MPFR] 4.0.1-p13 -> 4.0.1-p14.
-
1.1.905 Oct 2018Release notes
Open source →- Update [MPFR] 4.0.1-p11 -> 4.0.1-p13.
- Fix function parameters that should be
[
intmax_t][libc-intmax-0-2] or [uintmax_t][libc-uintmax-0-2].
- Fix function parameters that should be
[
- Update [MPFR] 4.0.1-p11 -> 4.0.1-p13.
-
1.1.823 Jul 2018 -
1.1.711 Jul 2018 -
1.1.629 May 2018 -
1.1.502 May 2018 -
1.1.423 Apr 2018Release notes
Open source →- Add missing [GMP], [MPFR] and [MPC] functions that take a <code>[*mut][pointer] [FILE][libc-FILE-0-2]</code> argument.
-
1.1.305 Apr 2018 -
1.1.205 Apr 2018Release notes
Open source →- Add missing [MPFR] and [MPC] functions with
ujandsj, using [c_ulonglong] and [c_longlong] respectively.- Add missing [MPFR] [
dump][mpfr-dump-1-1] function.
- Add missing [MPFR] [
- Add missing [MPFR] and [MPC] functions with
-
1.1.108 Feb 2018Release notes
Open source →- Update [MPFR] 4.0.0 -> 4.0.1.
- Fix the type of the
tabparameter of <code>[mpfr][mpfr-1-1]::[sum][mpfr-sum-1-1]</code> to <code>[*const][pointer] [*mut][pointer] [mpfr_t][mpfr-mpfr-1-1]</code> instead of <code>[*mut][pointer] [*mut][pointer] [mpfr_t][mpfr-mpfr-1-1]</code>. - Document the
DEP_GMP_LIMB_BITSbuild script metadata. - Add
DEP_GMP_OUT_DIR,DEP_GMP_LIB_DIR, andDEP_GMP_INCLUDE_DIRbuild script metadata.
- Fix the type of the
- Update [MPFR] 4.0.0 -> 4.0.1.
-
1.1.012 Jan 2018Release notes
Open source →- Update [MPFR] 3.1.6-p1 -> 4.0.0.
- Update [MPC] 1.0.3 -> 1.1.0.
- Deprecate and hide documentation for
<code>mpfr::rnd_t::RNDNA</code>;
MPFR_RNDNAis not documented by [MPFR], and mpfr.h says it should not be used. - Use [
c_int] instead of <code>[#[repr(C)]][repr-C] [enum]</code> for the private enumerated type inside <code>[#[repr(C)]][repr-C] [struct] randstate_t</code>.
- Update [MPFR] 3.1.6-p1 -> 4.0.0.
-
1.0.808 Nov 2017 -
1.0.710 Sep 2017 -
1.0.624 Jul 2017 -
1.0.526 Jun 2017 -
1.0.420 Jun 2017 -
1.0.306 Jun 2017Release notes
Open source →- Add <code>[gmp][gmp-1-0]::[mpq_numref_const][gmp-mnc-1-0]</code>,
<code>[gmp][gmp-1-0]::[mpq_denref_const][gmp-mdc-1-0]</code>,
<code>[mpc][mpc-1-0]::[realref_const][mpc-rc-1-0]</code> and
<code>[mpc][mpc-1-0]::[imagref_const][mpc-ic-1-0]</code>.
- Add inline version of functions which are inline in gmp.h and mpfr.h.
- Bug fix: <code>[gmp][gmp-1-0]::[mpz_even_p][gmp-mep-1-0]</code>.
- Add <code>[gmp][gmp-1-0]::[mpq_numref_const][gmp-mnc-1-0]</code>,
<code>[gmp][gmp-1-0]::[mpq_denref_const][gmp-mdc-1-0]</code>,
<code>[mpc][mpc-1-0]::[realref_const][mpc-rc-1-0]</code> and
<code>[mpc][mpc-1-0]::[imagref_const][mpc-ic-1-0]</code>.
-
1.0.220 May 2017Release notes
Open source →- Add features
mpfrandmpc, which are enabled by default, to allow opting out of the [MPFR] and [MPC] libraries.
- Add features
-
1.0.106 May 2017 -
1.0.024 Apr 2017 -
0.6.006 Feb 2017Nothing published for this version