GNU MPFR 3.0.0 Release Candidate 2
Vincent Lefevre
vincent at vinc17.net
Sun Jun 6 22:34:25 CEST 2010
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 <mpfr at loria.fr>.
If no problems are found, GNU MPFR 3.0.0 should be released
around 2010-06-09.
Regards,
--
Vincent Lefèvre <vincent at vinc17.net> - 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)
More information about the gmp-discuss
mailing list