#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.

Reply via email to