./math/mpfr, GMP-based library for multiple-precision floating-point computations

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 3.1.4, Package name: mpfr-3.1.4, Maintainer: pkgsrc-users

The MPFR library is a C library for multiple-precision floating-point
computations with exact rounding (also called correct rounding). It is
based on the GMP multiple-precision library and should replace the MPF
class in further releases of GMP.

The main goal of MPFR is to provide a library for multiple-precision
floating-point computation which is both efficient and has a well-defined
semantics. It copies the good ideas from the ANSI/IEEE-754 standard for
double-precision floating-point arithmetic (53-bit mantissa).

Required to run:

Master sites:

SHA1: e3b0af77f18505184410d621fe0aae179e229dba
RMD160: 917939100e262f9d620bf08b1b6a5d0ee9be5c4d
Filesize: 1249.301 KB

Version history: (Expand)

CVS history: (Expand)

   2016-03-08 16:03:42 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Update mpfr to 3.1.4:

Changes from version 3.1.3 to version 3.1.4:
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.3/#fixed> and ChangeLog file).
- MinGW (MS Windows): Added support for thread-safe DLL (shared library).
   2015-11-04 00:33:46 by Alistair G. Crooks | Files touched by this commit (262)
Log message:
Add SHA512 digests for distfiles for math category

Problems found locating distfiles:
	Package dfftpack: missing distfile dfftpack-20001209.tar.gz
	Package eispack: missing distfile eispack-20001130.tar.gz
	Package fftpack: missing distfile fftpack-20001130.tar.gz
	Package linpack: missing distfile linpack-20010510.tar.gz
	Package minpack: missing distfile minpack-20001130.tar.gz
	Package odepack: missing distfile odepack-20001130.tar.gz
	Package py-networkx: missing distfile networkx-1.10.tar.gz
	Package py-sympy: missing distfile sympy-
	Package quadpack: missing distfile quadpack-20001130.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
   2015-09-15 22:56:33 by Joerg Sonnenberger | Files touched by this commit (3)
Log message:
Don't clean intermediate files after checksum/patch phase.
The work directories are almost empty, so it doesn't save much space.
It makes debugging annoying and it breaks local DISTDIR settings.
   2015-06-30 12:25:01 by Ryo ONODERA | Files touched by this commit (2) | Package updated
Log message:
Update to 3.1.3

Changes from version 3.1.2 to version 3.1.3:
- Better support for Automake 1.13+ (now used to generate the tarball).
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.2/#fixed> and ChangeLog file).
   2014-12-05 14:16:26 by Thomas Klausner | Files touched by this commit (2) | Package updated
Log message:
Apply 11 upstream patches, bump to 3.2.1pl11.
Requested by Kai-Uwe Eckhardt.
Remove an incorrect comment.


One of the mpfr_exp implementations uses a left shift on an integer
that can be negative: exps <<= 1; and this has an undefined behavior
according to the ISO C standard. In most cases, this will correspond
to a multiplication by 2, and the code will behave as expected
(this is why the bug hadn't been detected until now). But problems
may occur if a sanitizer is used (this is how this bug was detected)
or possibly in case of advanced optimizations, such as LTO. This
is fixed by the exp_2 patch.

The mpfr_fits_u*_p functions return 0 ("doesn't fit") instead of
non-zero ("fits") on negative arguments for which the rounding to
an integer in the given rounding mode is 0. This bug is fixed by
the fits-smallneg patch, which also updates the testcases.

Some tget_flt tests fail in environments where native C floating-point
division by zero is not supported, e.g. regarded as an error, such
as with Clang's sanitizer; some similar tests were already disabled
in such a case, but not all. The tset_ld test triggers a useless
overflow on a double. These problems are fixed by the clang-divby0
patch, which also disables constant division by zero on the native
C type double with Clang in order to avoid incorrect code.

The formatted output functions (mpfr_*printf) are incorrect on the
value 0 when using the alternative form (# flag), a positive
precision, and the g or G conversion specifier: there is one
additional trailing 0. The corresponding test is also incorrect
(explaining why the bug was not detected). These problems are fixed
by the printf-alt0 patch, which also provides some additional
related tests.

Only for applications using the custom interface: The mpfr_custom_init_set
macro has a typo in a variable name, which can yield incorrect
behavior if the second argument is not a simple expression. This
bug is fixed by the custom_init_set patch.

The build fails on li2.c with the GCC -Werror=return-type option
when logging has been enabled. This problem is fixed by the li2-return

The rounding of mpfr_exp can be incorrect for output precisions
larger than or equal to MPFR_EXP_THRESHOLD (several thousands of
bits; its value depends on the architecture). This bug is fixed by
the exp3 patch, which also provides a testcase.

This MPFR release fails to build with GMP 6 when the --with-gmp-build
configure option is used. The gmp6-compat patch fixes this
compatibility problem.

When dividing a very large number (near the maximum finite one, in
absolute value) by a very small number (near the minimum one, in
absolute value), an integer overflow occurs in the computation of
the exponent of the result, yielding undefined behavior, such as
the result 0 instead of infinity. This bug is fixed by the div-overflow
patch, which also provides a testcase.

The vasprintf.c source file contains incorrect assertions, which
may fail while the computation is valid; this can occur only when
outputting tiny numbers (very small exponents). These assertions
are fixed by the vasprintf patch, which also provides a testcase.

A buffer overflow may occur in mpfr_strtofr. This is due to incorrect
GMP documentation for mpn_set_str about the size of a buffer
(discussion; first fix in the GMP documentation). This bug is
present in the MPFR versions from 2.1.0 (adding mpfr_strtofr) to
this one, and can be detected by running "make check" in a 32-bit
ABI under GNU/Linux with alloca disabled (this is currently possible
by using the --with-gmp-build configure option where alloca has
been disabled in the GMP build). It is fixed by the strtofr patch.
   2014-12-05 14:14:21 by Thomas Klausner | Files touched by this commit (1)
Log message:
Mark two custom targets .PHONY.
XXX: This does not handle distribution patches.
   2013-12-23 12:57:07 by Thomas Klausner | Files touched by this commit (79)
Log message:
Reset maintainer for resigned developers.
   2013-07-08 22:18:52 by Jonathan Perkin | Files touched by this commit (2)
Log message:
Split the extract phase into fetch and extract, to ensure that distfiles
can be fetched correctly, keeping in sync with devel/gmp inplace.mk