GNU MPFR 3.0.0 Release Candidate

Vincent Lefevre vincent at
Mon May 24 13:06:34 CEST 2010

The release of GNU MPFR 3.0.0 ("boudin aux pommes") is imminent.
Please help to make this major release as good as possible by
downloading and testing this release candidate:

The MD5's:
72f578e1fce8e58172af31ec5c622ffe  mpfr-3.0.0-rc1.tar.bz2
b203a4c40aa70b19bd70edfeb615f9c9  mpfr-3.0.0-rc1.tar.gz
d46414be83f279ef791e5b410a96e79b  mpfr-3.0.0-rc1.tar.xz

The signatures:

Changes from versions 2.4.* to version 3.0:
- MPFR 3.0 is binary incompatible with previous versions but (almost)
  API compatible. More precisely the obsolete functions mpfr_random
  and mpfr_random2 have been removed, and the return type of the
  functions mpfr_get_f and mpfr_get_z is now int instead of void.
  In practice, this should not break any existing code.
- MPFR is now distributed under the GNU Lesser General Public License
  version 3 or later (LGPL v3+).
- Rounding modes GMP_RNDx are now MPFR_RNDx (GMP_RNDx kept for
- A new rounding mode (MPFR_RNDA) is available to round away from zero.
- The rounding mode type is now mpfr_rnd_t (as in previous versions,
  both mpfr_rnd_t and mp_rnd_t are accepted, but mp_rnd_t may be
  removed in the future).
- The precision type is now mpfr_prec_t (as in previous versions, both
  mpfr_prec_t and mp_prec_t are accepted, but mp_prec_t may be removed
  in the future) and it is now signed (it was unsigned in MPFR 2.*, but
  this was not documented). In practice, this change should not affect
  existing code that assumed nothing on the precision type.
- MPFR now has its own exponent type mpfr_exp_t, which is currently
  the same as GMP's mp_exp_t.
- Functions mpfr_random and mpfr_random2 have been removed.
- mpfr_get_f and mpfr_get_z now return a ternary value.
- mpfr_strtofr now accepts bases from 37 to 62.
- New functions mpfr_buildopt_tls_p and mpfr_buildopt_decimal_p giving
  information about options used at MPFR build time.
- New function mpfr_regular_p.
- New function mpfr_set_zero.
- New function mpfr_digamma.
- New function mpfr_ai (incomplete, experimental).
- New functions mpfr_set_flt and mpfr_get_flt to convert from/to the
  float type.
- New function mpfr_urandom.
- New function mpfr_set_z_2exp (companion to mpfr_get_z_2exp, which
  was renamed from mpfr_get_z_exp in previous versions).
- Speed improvement for large operands in the trigonometric functions
  (mpfr_sin, mpfr_cos, mpfr_tan, mpfr_sin_cos): speedup of about 2.5
  for 10^5 digits, of about 5 for 10^6 digits.
- Speed improvement for large operands of the inverse trigonometric
  functions (arcsin, arccos, arctan): about 2 for 10^3 digits, up to
  2.7 for 10^6 digits.
- Some documentation files are installed in $docdir.
- The configure script recognizes some extra "long double" formats
  (double big endian, double little endian, double-double big endian).
- MPFR manual: added "API Compatibility" section.
- Bug fixes.

Please send success and failure reports with "./config.guess" output
to <mpfr at>.

If no problems are found, GNU MPFR 3.0.0 should be released
around 2010-06-07.


Vincent Lefèvre <vincent at> - Web: <>
100% accessible validated (X)HTML - Blog: <>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)

More information about the gmp-discuss mailing list