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

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


Branch: CURRENT, Version: 3.0.0.3, Package name: mpfr-3.0.0.3, Maintainer: rh

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:
[devel/gmp]

Required to build:
[devel/libtool-base]

Master sites:


Version history: (Expand)


CVS history: (Expand)


   2010-07-15 23:35:10 by Aleksej Saushev | Files touched by this commit (4) | Package updated
Log message:
Bump revision after math/mpfr update.
   2010-07-15 22:30:40 by Aleksej Saushev | Files touched by this commit (4) | Package updated
Log message:
Update MPFR to version 3.0.0.
Contributed by Stathis Kamperis on IRC.

Changes from versions 2.4.* to version 3.0.0:

- The "boudin aux pommes" release.
- 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 detection of a GMP build directory (more precisely, the internal
  header files of GMP) was previously done separately from the use of
  the --with-gmp-build configure option. This was not consistent with
  the documentation and with other parts of the configure script. So,
  as of MPFR 3.0.0, the internal header files of GMP are now used if
  and only if the --with-gmp-build configure option is given.
- 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.
   2010-03-24 22:54:17 by Aleksej Saushev | Files touched by this commit (14) | Package updated
Log message:
Recursive revision bump for GMP update, 2nd part.
   2010-03-24 20:43:29 by Aleksej Saushev | Files touched by this commit (75) | Package updated
Log message:
Recursive revision bump for GMP update.
   2010-01-15 15:04:36 by Aleksej Saushev | Files touched by this commit (2) | Package updated
Log message:
Update to MPFR 2.4.2-p3.

Previously used cumulative patch is no longer distributed,
replace it with individual patches.
It is hard to tell what the patch level was before.
   2009-12-15 13:36:50 by Thomas Klausner | Files touched by this commit (1)
Log message:
Set LICENSE.
   2009-12-15 13:35:57 by Thomas Klausner | Files touched by this commit (4) | Package updated
Log message:
Update to 2.4.2:

Changes from version 2.4.1 to version 2.4.2:
- Security fix in formatted output functions (buffer overflow).
- Formatted output functions: 6 is now the default value for
  empty precision field with %Rf.
- Better portability of configure script.
- Detection of intmax_t and uintmax_t types.
- Improved documentation: mpfr_get_z_exp, mpfr_strtofr, mpfr_get_str and
  formatted output functions.
- Improved message in case of assertion failure.
- Test coverage: 97.0% lines of code.
- Updated tcmp_ld test to really test the long double.
- Some documentation files are installed in $docdir.
- Removed mpfr_init_cache (unused and undocumented function).
- Fixed the way $CC / $CFLAGS are got from gmp.h (__GMP_CC / __GMP_CFLAGS).
- Bug fixes.
- Also note that GCC 4.4.0 (only this obsolete version) does not build
  MPFR 2.4.2 correctly; this is detected by "make check" (failures in
  tget_z and tpow_all).
   2009-03-20 20:25:55 by Joerg Sonnenberger | Files touched by this commit (1252)
Log message:
Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.