#11666: Upgrade MPFR to 3.1.0
--------------------------------------------+-------------------------------
Reporter: leif | Owner: leif
Type: enhancement | Status: needs_info
Priority: major | Milestone: sage-5.0
Component: packages | Keywords: sd32 MPFR spkg
wishlist sd35.5
Work_issues: failing doctests for 32 bits | Upstream: N/A
Reviewer: Paul Zimmermann | Author: Mike Hansen,
Jean-Pierre Flori
Merged: | Dependencies: #12171
--------------------------------------------+-------------------------------
Changes (by newvalueoldvalue):
* work_issues: fails on 32-bit => failing doctests for 32 bits
* author: Mike Hansen => Mike Hansen, Jean-Pierre Flori
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/].
>
> ----
>
> '''MPFR 3.1.0''' [http://www.mpfr.org/mpfr-3.1.0/ has been released
> October 3rd 2011].
>
> == 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 are available in various formats (regarding the compression
> method); a bzipped one can be found
> [http://www.mpfr.org/mpfr-3.1.0/mpfr-3.1.0.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].
Use http://perso.telecom-paristech.fr/~flori/sage/mpfr-3.1.0.spkg
----
'''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/].
----
'''MPFR 3.1.0''' [http://www.mpfr.org/mpfr-3.1.0/ has been released
October 3rd 2011].
== 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 are available in various formats (regarding the compression
method); a bzipped one can be found
[http://www.mpfr.org/mpfr-3.1.0/mpfr-3.1.0.tar.bz2 here] (upstream).
--
Comment:
You can finally find a rebased spkg where I discarded some stuff involving
ABI which previously made sage print that it was building for 32 bits,
whereas it actually had no effect, and which is rebased on #12131 at the
usual address:
http://perso.telecom-paristech.fr/~flori/sage/mpfr-3.1.0.spkg
I guess the issue with doctests is the last step before "needs review"
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11666#comment:31>
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.