Up to [NetBSD + pkgsrc-wip] / pkgsrc / math / mpfr
Request diff between arbitrary revisions - Display revisions graphically
Keyword substitution: kv
Default branch: MAIN
Update MPFR to version 3.0.1 patch level 3. Patch 3 fixes the following bug: The mpfr_atan function calls mpfr_check_range on the unrounded result (no longer allocated) instead of the rounded result. Consequence of this bug: possible incorrect or invalid result and/or incorrect flags if the unrounded result or rounded result is not in the current exponent range. Or possibly worse if the memory used by the unrounded result is modified before the return of the function. This bug has been present since MPFR 2.1.0 (exceptions were not supported before). Patch 2 fixes the following bug: The mpfr_rec_sqrt function can have undefined behavior due to the call of mpn_add_1 or mpn_sub_1 (from GMP) with a null size, which is not allowed. The fourth argument of mpn_add_1 or mpn_sub_1 (i.e. the value that should have been added or subtracted) is here also 0, so that the consequences are limited. In practice, with the current GMP version, this yields a small buffer overflow (1 limb, i.e. 32 bits or 64 bits), as shown by valgrind, with the possible consequences: a crash, or memory corruption (very unlikely) if another process or thread modifies the limb at the same time (as in this context, the value is first read then written back by GMP). This bug has always been present since the introduction of the mpfr_rec_sqrt function in MPFR 2.4.0. Patch 1 fixes the following bug: If the exponent range has been reduced such that emax = 1 or 2, mpfr_asin may give an incorrect result on +1 and -1. which should probably never occur in practical codes.
Update MPFR to version 3.0.1 Changes from version 3.0.0 to version 3.0.1: - Bug fixes (see <http://www.mpfr.org/mpfr-3.0.0/#fixed> or ChangeLog file). 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.
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.
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.
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).
update to 2.4.1 changes: -Behavior of mpfr_check_range changed -Function mpfr_init_gmp_rand is no longer defined -New functions -Configure test for TLS support -Get default $CC and $CFLAGS from gmp.h -Security fix in mpfr_snprintf and mpfr_vsnprintf (buffer overflow) -Configure: new checks for length modifiers hh and ll (new in C99) -bugfixes -documentation fixes
Update to mpfr-2.3.1. Add new distribution patch, appease pkglint. Changes from version 2.3.0 to version 2.3.1: - Changes in the behavior of mpfr_strtofr and in its documentation concerning particular cases where the code and the documentation did not match. - Bug fixes; see <http://www.mpfr.org/mpfr-2.3.0/#bugs>. - Configure test for TLS support. - Improved MPFR manual.
update to 2.3.0 changes: -New functions mpfr_j0, mpfr_j1, mpfr_jn, mpfr_y0, mpfr_y1, mpfr_yn, mpfr_lgamma, mpfr_remainder, mpfr_remquo, mpfr_fms, mpfr_signbit, mpfr_setsign, mpfr_copysign, mpfr_get_patches -Functions mpfr_sin, mpfr_cos and mpfr_sin_cos improved -More detailed MPFR manual -Improved tests (make check) -Bug fixes
Fix DragonFly: include stdint.h.
update to 2.2.0 changes: -Bug fixes -New functions mpfr_set_overflow, mpfr_set_underflow, mpfr_set_inexflag, mpfr_set_erangeflag, mpfr_set_nanflag, mpfr_erfc, mpfr_atan2, mpfr_pow_z, mpfr_subnormalize, mpfr_const_catalan, mpfr_sec, mpfr_csc, mpfr_cot, mpfr_root, mpfr_eint, mpfr_get_f, mpfr_sech, mpfr_csch, mpfr_coth, mpfr_lngamma -New macro: MPFR_VERSION_STRING -The exported MPFR variables have been removed from mpfr.h -cleanup, speed improvement...
Add RMD160 digests in addition to SHA1 ones.
Initial import of mpfr-2.0.3, a library for multiple-precision floating-point computations
Initial revision