#11666: Upgrade MPFR to 3.0.1 + upstream patches or later (3.1.0)
---------------------------+------------------------------------------------
Reporter: leif | Owner: leif
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.7.2
Component: packages | Keywords: sd32 MPFR spkg wishlist
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
---------------------------+------------------------------------------------
Old description:
> Our current MPFR spkg is fairly old (based on '''MPFR 2.4.2'''), and
> upgrading it to the latest [stable] upstream release is now on the
> [http://wiki.sagemath.org/days32/wishlist "high-priority wishlist"].
>
> `spkg-install` also needs a major rewrite, e.g. to make use of (some of)
> GMP's / MPIR's build flags.
>
> ''"I think I'll provide a new spkg in the next days (next weekend,
> say)."'' [This unfortunately became a moving target; still on my high
> priority list though...]
>
> ----
>
> '''MPFR 3.0.1''' was released on April 4th 2011; there are already some
> [http://www.mpfr.org/mpfr-current/allpatches additional upstream patches]
> for that version; see [http://www.mpfr.org/mpfr-current/].
>
> ----
>
> Yet '''MPFR 3.1.0''' is on the way, planned to be released September 30th
> (unless problems should occur).
>
> == Changes from versions 3.0.* to version 3.1.0: ==
>
> - The MPFR source has been reorganized.
> - Dropped `ansi2knr` support.
> - TLS support is now detected automatically. If TLS is supported, MPFR
> is built as thread safe by default. To disable TLS explicitly, configure
> MPFR with `--disable-thread-safe`.
> - New `--enable-gmp-internals` `configure` option to use GMP's
> undocumented functions (not from the public API). Note that library
> versioning is not guaranteed to work if this option is used.
> - The `mpfr_urandom()` and `mpfr_urandomb()` functions now return
> identical values on processors with different word size (assuming the
> same random seed, and since the GMP random generator does not depend
> itself on the word size, cf. [http://gmplib.org/list-archives/gmp-
> devel/2010-September/001642.html]).
> - The `mpfr_add_one_ulp()` and `mpfr_sub_one_ulp()` macros (which are
> obsolete and no more documented) will be removed in a future release.
> - Speed improvement for the `mpfr_sqr()` and `mpfr_div()` functions
> using Mulders' algorithm. As a consequence, other functions using those
> routines are also faster.
> - Much faster formatted output (`mpfr_printf()`, etc.) with `%Rg` and
> similar.
> - The `--with-gmp-build` `configure` option can now be used when the
> GMP source directory and the GMP build directory are different (without
> having to copy header files manually as before).
> - New functions `mpfr_buildopt_tune_case()`, `mpfr_frexp()`,
> `mpfr_grandom()` and `mpfr_z_sub()`.
> - New division-by-zero exception (flag) and associated functions.
> - The `mpfr.h` header can be included several times, while still
> supporting optional functions (see Section "Headers and Libraries" in the
> manual).
> - Updated tuning parameters.
> - Improved MPFR manual.
> - MPFR tests: `libtool` no longer generates wrapper scripts with `make
> check` (so that running the tests under `valgrind` or `gdb` is easier).
> - Bug fixes.[[BR]]
> Note: The `mpfr_subnormalize()` implementation up to MPFR 3.0.0 did
> not change the flags. In particular, it did not follow the generic rule
> concerning the inexact flag (and no special behavior was specified). The
> case of the underflow flag was more a lack of specification.
>
> Tarballs of the current '''release candidate''' (rc1) are available in
> various formats (regarding the compression method); a bzipped one can be
> found
> [http://boxen.math.washington.edu/home/leif/Sage/spkgs/upstream/mpfr-3.1.0-rc1.tar.bz2
> here] (`sage.math`) or
> [http://www.mpfr.org/mpfr-3.1.0/mpfr-3.1.0-rc1.tar.bz2 here] (upstream).
New description:
Our current MPFR spkg is fairly old (based on '''MPFR 2.4.2'''), and
upgrading it to the latest [stable] upstream release is now on the
[http://wiki.sagemath.org/days32/wishlist "high-priority wishlist"].
`spkg-install` also needs a major rewrite, e.g. to make use of (some of)
GMP's / MPIR's build flags.
''"I think I'll provide a new spkg in the next days (next weekend,
say)."'' [This unfortunately became a moving target; still on my high
priority list though...]
----
'''MPFR 3.0.1''' was released on April 4th 2011; there are already some
[http://www.mpfr.org/mpfr-current/allpatches additional upstream patches]
for that version; see [http://www.mpfr.org/mpfr-current/].
----
Yet '''MPFR 3.1.0''' is on the way, planned to be released September 30th
(unless problems should occur).
== Changes from versions 3.0.* to version 3.1.0: ==
- The MPFR source has been reorganized.
- Dropped `ansi2knr` support.
- TLS support is now detected automatically. If TLS is supported, MPFR
is built as thread safe by default. To disable TLS explicitly, configure
MPFR with `--disable-thread-safe`.
- New `--enable-gmp-internals` `configure` option to use GMP's
undocumented functions (not from the public API). Note that library
versioning is not guaranteed to work if this option is used.
- The `mpfr_urandom()` and `mpfr_urandomb()` functions now return
identical values on processors with different word size (assuming the same
random seed, and since the GMP random generator does not depend itself on
the word size, cf. [http://gmplib.org/list-archives/gmp-
devel/2010-September/001642.html]).
- The `mpfr_add_one_ulp()` and `mpfr_sub_one_ulp()` macros (which are
obsolete and no more documented) will be removed in a future release.
- Speed improvement for the `mpfr_sqr()` and `mpfr_div()` functions
using Mulders' algorithm. As a consequence, other functions using those
routines are also faster.
- Much faster formatted output (`mpfr_printf()`, etc.) with `%Rg` and
similar.
- The `--with-gmp-build` `configure` option can now be used when the
GMP source directory and the GMP build directory are different (without
having to copy header files manually as before).
- New functions `mpfr_buildopt_tune_case()`, `mpfr_frexp()`,
`mpfr_grandom()` and `mpfr_z_sub()`.
- New division-by-zero exception (flag) and associated functions.
- The `mpfr.h` header can be included several times, while still
supporting optional functions (see Section "Headers and Libraries" in the
manual).
- Updated tuning parameters.
- Improved MPFR manual.
- MPFR tests: `libtool` no longer generates wrapper scripts with `make
check` (so that running the tests under `valgrind` or `gdb` is easier).
- Bug fixes.[[BR]]
Note: The `mpfr_subnormalize()` implementation up to MPFR 3.0.0 did not
change the flags. In particular, it did not follow the generic rule
concerning the inexact flag (and no special behavior was specified). The
case of the underflow flag was more a lack of specification.
Tarballs of the current '''release candidate''' (rc2) are available in
various formats (regarding the compression method); a bzipped one can be
found
[http://boxen.math.washington.edu/home/leif/Sage/spkgs/upstream/mpfr-3.1.0-rc2.tar.bz2
here] (`sage.math`) or
[http://www.mpfr.org/mpfr-3.1.0/mpfr-3.1.0-rc2.tar.bz2 here] (upstream).
--
Comment(by leif):
The second release candidate is out:
[...] The main changes since this first release candidate are:
- Fixed `--enable-gmp-internals`.
- Handle the special cases in `mpfr_cmp_q()` and `mpfr_cmp_f()` (fixing
the problem with the `erange` flag in particular).
- Added `mpfr_buildopt_gmpinternals_p()` function.
- MPFR manual update and minor corrections.
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.
[...] [[BR]]
http://www.mpfr.org/mpfr-3.1.0/mpfr-3.1.0-rc2.tar.bz2 [[BR]]
[...] [[BR]]
The MD5's: [[BR]]
[...] [[BR]]
`6ba48c87687959d5e68cd695686257f4 mpfr-3.1.0-rc2.tar.bz2` [[BR]]
[...] [[BR]]
[...]
Final release now scheduled for October 3rd.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11666#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.