The release of GNU MPFR 3.0.0 ("boudin aux pommes") is imminent.
Thanks very much to those who tested the first release candidate.The main changes since this first release candidate are: - Added missing #include "mpfr-impl.h" for cygwin builds. - mpfr_custom_get_mantissa was renamed to mpfr_custom_get_significand (mpfr_custom_get_mantissa is still available via a #define). - Functions mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj, mpfr_get_z and mpfr_get_z_2exp no longer have cases with undefined behavior; in these cases, the behavior is now specified, and in particular, the erange flag is set. - MPFR manual: many changes, and the encoding is now UTF-8. - Removed rule specific to HP-UX in acinclude.m4 as it could fail. - Fixed a possible buffer overflow in mpfr_exp. Here's a second release candidate. As there should not be new platform-specific problems, the final release is delayed by a few days only. http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.tar.xz http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.tar.bz2 http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.tar.gz http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.zip The MD5's: fd030e33d11ceb3063e2623400f881f9 mpfr-3.0.0-rc2.tar.bz2 3077131f0941f49ca0ab7874d90f87fa mpfr-3.0.0-rc2.tar.gz df8df9d5f68e26d6a476235608e12eda mpfr-3.0.0-rc2.tar.xz 955797eb38032d0af7613bba742fc465 mpfr-3.0.0-rc2.zip The signatures: http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.tar.xz.asc http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.tar.bz2.asc http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.tar.gz.asc http://www.mpfr.org/mpfr-3.0.0/mpfr-3.0.0-rc2.zip.asc Changes from versions 2.4.* to version 3.0.0: - MPFR 3.0.0 is binary incompatible with previous versions but (almost) API compatible. More precisely the obsolete functions mpfr_random and mpfr_random2 have been removed, the meaning of the return type of the function mpfr_get_f has changed, and the return type of the function 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 compatibility). - 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. - mpfr_custom_get_mantissa was renamed to mpfr_custom_get_significand (mpfr_custom_get_mantissa is still available via a #define). - Functions mpfr_get_si, mpfr_get_ui, mpfr_get_sj, mpfr_get_uj, mpfr_get_z and mpfr_get_z_2exp no longer have cases with undefined behavior; in these cases, the behavior is now specified, and in particular, the erange flag is set. - 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. - Test coverage: 97.1% lines of code. - Bug fixes. Please send success and failure reports with "./config.guess" output to <[email protected]>. If no problems are found, GNU MPFR 3.0.0 should be released around 2010-06-09. Regards, -- Vincent Lefèvre <[email protected]> - Web: <http://www.vinc17.net/> 100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/> Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)
