summaryrefslogtreecommitdiff
path: root/math/mpfr
AgeCommit message (Collapse)AuthorFilesLines
2022-11-27(math/mpfr) Adding official patch mpfr-4.1.1 to 4.1.1pmef6-2/+117
openscad-2021.01nb13 failed with math/mpfr-4.1.1 http://www.ki.nu/pkgsrc/reports/current/NetBSD-9.0/20221123.2254/openscad-2021.01nb13/build.log For this problem and as well as https://github.com/CGAL/cgal/issues/7064 patch is supplied at https://www.mpfr.org/mpfr-4.1.1/patch01 and patches are one of the pieces: for file to file from above. See also: http://mail-index.netbsd.org/pkgsrc-users/2022/11/26/msg036540.html openscad has PKGREVISION++ because of icu update almost at the same time, and not packaged since then, so no PKGREVISION++ is necessary, (OK ?)
2022-11-21mpfr: updated to 4.1.1adam2-15/+15
Changes from version 4.1.0 to version 4.1.1 Bug fixes (see the fixed bugs on the MPFR 4.1.0 page and/or the ChangeLog file), in particular for macros implementing functions. Improved manual formatting.
2021-10-26math: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes
2021-10-07math: Remove SHA1 hashes for distfilesnia1-2/+1
2020-09-03gmp,mpfr: Remove CONFIGURE_ARGS flags from builtin.mk as it assumes thatprlw11-3/+1
all recursively depending packages can deal with them. Those packages that need them already add those CONFIGURE_ARGS, at least pbulk hasn't revealed any issues (thanks jperkin@). XXX libiconv is in a similar position, so should receive similar treatment, but at least it only adds the flags if GNU_CONFIGURE=yes Fixes PR pkg/55487
2020-08-24mpfr: update to 4.1.0.wiz4-16/+16
Changes from versions 4.0.* to version 4.1.0: - The "épinards à la crème" release. - Binary compatible with MPFR 4.0.*, though some minor changes in the behavior of the formatted output functions may be visible, regarded as underspecified behavior or bug fixes (see below). - New --enable-formally-proven-code configure option, to use (when available) formally proven code. - Improved __GMP_CC and __GMP_CFLAGS retrieval (in particular for MS Windows). - Option -pedantic is now always removed from __GMP_CFLAGS (see INSTALL). - Changed __float128 to the type _Float128 specified in ISO/IEC TS 18661. __float128 is used as a fallback if _Float128 is not supported. - New function mpfr_get_str_ndigits about conversion to a string of digits. - New function mpfr_dot for the dot product (incomplete, experimental). - New functions mpfr_get_decimal128 and mpfr_set_decimal128 (available only when MPFR has been built with decimal float support). - New function mpfr_cmpabs_ui. - New function mpfr_total_order_p for the IEEE 754 totalOrder predicate. - The mpfr_out_str function now accepts bases from -2 to -36, in order to follow mpfr_get_str and GMP's mpf_out_str functions (these cases gave an assertion failure, as with other invalid bases). - Shared caches: cleanup; really detect lock failures (abort in this case). - The behavior of the formatted output functions (mpfr_printf, etc.) with an empty precision field has improved: trailing zeros are kept in a way similar to the formatted output functions from C. - Improved mpfr_add and mpfr_sub when all operands have a precision equal to twice the number of bits per word, e.g., 128 bits on a 64-bit platform. - Optimized the tuning parameters for various architectures. - Improved test coverage to 98.6% of code for x86_64. - Bug fixes. - MPFR manual: corrected/completed the mpfr_get_str description in order to follow the historical behavior and GMP's mpf_get_str function. - New: optional "make check-exported-symbols", mainly for the MPFR developers and binary distributions, to check that MPFR does not define symbols with a GMP reserved prefix (experimental). - Mini-gmp support: replaced --enable-mini-gmp configure option by --with-mini-gmp (still experimental, read doc/mini-gmp). - A GCC bug on Sparc (present at least in old GCC 4.5.3 and 5.5.0 versions), which made several tests fail when TLS was enabled, is now avoided in the tests. The MPFR library itself was not affected and normal code using the MPFR library should not be affected either. Users and distributions that disabled TLS just because of the test failures can safely re-enable it.
2020-01-26all: migrate homepages from http to httpsrillig1-2/+2
pkglint -r --network --only "migrate" As a side-effect of migrating the homepages, pkglint also fixed a few indentations in unrelated lines. These and the new homepages have been checked manually.
2019-12-22(math/mpfr) Fix build of gcc-4.8,4.9 for NetBSD 9.xmef1-2/+3
Re: http://mail-index.netbsd.org/pkgsrc-users/2019/12/22/msg030057.html
2019-11-02math: align variable assignmentsrillig2-7/+7
pkglint -Wall -F --only aligned -r Manual correction in R/Makefile.extension for the MASTER_SITES continuation line.
2019-05-31Replace mpfr's builtin.mk. The old one was abusive and wrong.dholland1-6/+65
Thanks to Joern Clausen for testing this one (something like a year ago...) Relevant to (at least) PR 52250 and PR 52244.
2019-02-13mpfr: update to 4.0.2.wiz2-7/+7
Changes from version 4.0.1 to version 4.0.2: - Corrected minimal GMP version in the INSTALL file and the MPFR manual. - Option -pedantic is now always removed from __GMP_CFLAGS (see INSTALL). - Shared caches: cleanup; really detect lock failures (abort in this case). - Improved MPFR manual. In particular, corrected/completed the mpfr_get_str description in order to follow the historical behavior and GMP's mpf_get_str function. - Bug fixes (see ChangeLog file).
2018-09-29Disable float128 support on DragonFly BSD as well.sevan1-2/+2
As per https://mail-index.netbsd.org/pkgsrc-users/2018/02/03/msg026233.html
2018-02-25mpfr: force disable float128 on netbsd8 too (tested 8.0)maya1-2/+2
2018-02-19Expand a workaround for NetBSD/amd64 0-7 to non-amd64 architecturesryoon1-2/+2
2018-02-11mpfr: update to 4.0.1.wiz2-8/+7
Changes from version 4.0.0 to version 4.0.1: - Improved MPFR manual. - Improved __GMP_CC and __GMP_CFLAGS retrieval (in particular for MS Windows). - Fixed a build failure on some platforms when --with-gmp-build is used. - Bug fixes (see ChangeLog file), in particular in mpfr_div_ui, which could yield an incorrectly rounded result to nearest when using different precisions; this bug had been present since the introduction of mpfr_div_ui, and in MPFR 4.0.0, it was affecting mpfr_div too. - New: optional "make check-exported-symbols", mainly for the MPFR developers and binary distributions, to check that MPFR does not define symbols with a GMP reserved prefix (experimental).
2018-02-03mpfr: disable float128 on NetBSD-7/x86_64gson1-1/+6
The mpfr configure script detects float128 support on NetBSD-7/x86_64, and mpfr itself builds successfully with it, but other packages that link with it, such as print/web2c, then fail to link with undefined references to __floatunditf among other symbols. Work around this by passing --disable-float128 to the configure script.
2018-01-28recursive bump after mpfr shlib major bumpwiz1-2/+2
2018-01-28mpfr: update to 4.0.0.wiz5-43/+13
Changes from versions 3.1.* to version 4.0.0: - The "dinde aux marrons" release. - MPFR now depends on GMP 5.0+ instead of 4.1+. - API change: Applications that call GMP's mp_set_memory_functions function to change the allocators must first call the new function mpfr_mp_memory_cleanup in all threads where MPFR is potentially used; this new function is currently equivalent to mpfr_free_cache. The reason is that the way memory allocation is done by MPFR has changed (again), so that the current GMP allocators are used (since for some applications, the old allocators may become invalid). Note: Freeing the caches like this might have a performance impact on some particular applications; if this is an issue, this could be handled for a future MPFR version. - Mini-gmp support via the --enable-mini-gmp configure option (experimental). - The minimum precision MPFR_PREC_MIN is now 1, with rounding defined as in the errata of IEEE 754-2008 and in the following IEEE 754 revision (ties rounded away from zero). - Shared caches for multithreaded applications. New function mpfr_free_cache2. - Partial support of MPFR_RNDF (faithful rounding). - New functions: mpfr_fpif_export and mpfr_fpif_import to export and import numbers in a floating-point interchange format, independent both on the number of bits per word and on the endianness. - New function mpfr_fmodquo to return the low bits of the quotient corresponding to mpfr_fmod. - New functions mpfr_flags_clear, mpfr_flags_set, mpfr_flags_test, mpfr_flags_save and mpfr_flags_restore to operate on groups of flags. - New functions mpfr_set_float128 and mpfr_get_float128 to convert from/to the __float128 type (requires --enable-float128 and compiler support). - New functions mpfr_buildopt_float128_p and mpfr_buildopt_sharedcache_p. - New functions mpfr_rint_roundeven and mpfr_roundeven, completing the other similar round-to-integer functions for rounding to nearest with the even-rounding rule. - New macro mpfr_round_nearest_away to add partial emulation of the rounding to nearest-away (as defined in IEEE 754-2008). - New functions mpfr_nrandom and mpfr_erandom to generate random numbers following normal and exponential distributions respectively. - New functions mpfr_fmma and mpfr_fmms to compute a*b+c*d and a*b-c*d. - New function mpfr_rootn_ui, similar to mpfr_root, but agreeing with the rootn function of the IEEE 754-2008 standard. - New functions mpfr_log_ui to compute the logarithm of an integer, mpfr_gamma_inc for the incomplete Gamma function. - New function mpfr_beta for the Beta function (incomplete, experimental). - New function mpfr_get_q to convert a floating-point number into rational. - The mpfr_dump function is now described in the manual; its output format has slightly changed. - The mpfr_eint function now returns the value of the E1/eint1 function for negative argument. - The behavior of the mpfr_set_exp function changed, as it could easily yield undefined behavior in some cases (this modifies both the API and the ABI). - In function mpfr_urandom, the next random state no longer depends on the current exponent range and the rounding mode. The exceptions due to the rounding of the random number are now correctly generated, following the uniform distribution. - Functions mpfr_grandom and mpfr_root are deprecated and will be removed in a future release. - Complete rewrite of function mpfr_sum, which now works in all cases (the old one could take all the memory and/or crash with inputs of different magnitudes in case of huge cancellation or table maker's dilemma). The sign of an exact zero result is now specified, and the return value is now the usual ternary value. Note that the position of "const" in the mpfr_sum prototype has been fixed (the manual was correct); user code should not be affected. - Old, deprecated macros mpfr_add_one_ulp and mpfr_sub_one_ulp removed. The mpfr_next* functions should be used instead. - Internally, improved caching: a minimum of 10% increase of the precision is guaranteed to avoid too many recomputations. - Added internal small-precision mpz_t pool, which aims to avoid the overhead of memory allocation, in particular. New function mpfr_free_pool. - Added configure option --enable-assert=none to avoid checking any assertion. - The --enable-decimal-float configure option no longer requires --with-gmp-build, and support for decimal floats is now automatically detected by default (similarly for support for __float128). - Updated tuning parameters. - Better support for Automake 1.13+ (now used to generate the tarball). - Dropped K&R C compatibility. - Improved MPFR manual. - New MPFRbench program (see the tools/bench directory). - Major speedup in mpfr_add, mpfr_sub, mpfr_mul, mpfr_div and mpfr_sqrt when all operands have the same precision and this precision is less than twice the number of bits per word, e.g., less than 128 on a 64-bit computer. - Speedup by a factor of almost 2 in the double <--> mpfr conversions (mpfr_set_d and mpfr_get_d). - Speedup in mpfr_log1p and mpfr_atanh for small arguments. - Speedup in the mpfr_const_euler function (contributed by Fredrik Johansson), in the computation of Bernoulli numbers (used in mpfr_gamma, mpfr_li2, mpfr_digamma, mpfr_lngamma and mpfr_lgamma), in mpfr_div, in mpfr_fma and mpfr_fms. - Test coverage: 96.3% lines of code. - Bug fixes. In particular: a speed improvement when the --enable-assert or --enable-assert=full configure option is used with GCC; mpfr_get_str now sets the NaN flag on NaN input and the inexact flag when the conversion is inexact. For a full list, see http://www.mpfr.org/mpfr-3.1.6/#fixed and the same section for any previous 3.1.x version (follow the links in the "Changes..." sections). - Microsoft Windows: Added support for thread-safe DLL (shared library). Tested with MinGW, ICC and MSVC. - Limited pkg-config support. - Autotools: Under Linux, make sure that the old dtags (when supported) are used if LD_LIBRARY_PATH is defined; otherwise "make check" would check an installed, compatible MPFR library found in LD_LIBRARY_PATH instead of the one that has been built with "make". - New: optional "make check-gmp-symbols", mainly for binary distributions, to check that MPFR does not use GMP internal symbols (experimental).
2017-09-10Updated mpfr to 3.1.6.wiz2-7/+7
Changes from version 3.1.5 to version 3.1.6: - Improved MPFR manual. - Bug fixes (see <http://www.mpfr.org/mpfr-3.1.5/#fixed> and ChangeLog file). - Autotools: Under Linux, make sure that the old dtags (when supported) are used if LD_LIBRARY_PATH is defined; otherwise "make check" would check an installed, compatible MPFR library found in LD_LIBRARY_PATH instead of the one that has been built with "make".
2017-08-30Hack the pkg to at least build + install on NetBSD/alpha - may needmartin4-2/+41
revisiting after closer examination of the underlying issues.
2016-10-03Updated mpfr to 3.1.5.wiz2-7/+7
Changes from version 3.1.4 to version 3.1.5: - C++11 compatibility. - Bug fixes (see <http://www.mpfr.org/mpfr-3.1.4/#fixed> and ChangeLog file). - More tests.
2016-03-08Update mpfr to 3.1.4:wiz2-10/+8
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-03Add SHA512 digests for distfiles for math categoryagc1-1/+2
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-0.7.6.1.tar.gz 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-15Don't clean intermediate files after checksum/patch phase.joerg1-3/+3
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-30Update to 3.1.3ryoon2-45/+7
Changelog: 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-05Apply 11 upstream patches, bump to 3.2.1pl11.wiz2-11/+45
Requested by Kai-Uwe Eckhardt. Remove an incorrect comment. Changes: 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 patch. 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-05Mark two custom targets .PHONY.wiz1-1/+2
XXX: This does not handle distribution patches.
2013-12-23Reset maintainer for resigned developers.wiz1-3/+2
2013-07-08Split the extract phase into fetch and extract, to ensure that distfilesjperkin1-2/+8
can be fetched correctly, keeping in sync with devel/gmp inplace.mk
2013-03-15update to 3.1.2drochner2-18/+12
changes: -bugfixes (were patched in 3.1.1plX) -updated examples
2012-09-13Update to MPFR 3.1.1p2asau2-7/+13
1. The mpfr_get_decimal64 function (available only when MPFR has been configured with --enable-decimal-float) has several bugs, fixed by the get_decimal64 patch, which also provides testcases. It corresponds to the following changesets in the 3.1 branch: 8373, 8378, 8380. 2. The ternary value returned by the mpfr_strtofr function can be wrong under particular conditions (example). This is fixed by the strtofr-ternary-value patch, which also provides testcases. It corresponds to the following changeset in the 3.1 branch: 8399.
2012-09-11"user-destdir" is default these daysasau1-3/+1
2012-08-01leave DIST_SUBDIR there - as the distribution scheme worked all the time,drochner2-6/+6
patches will be released rather than full new distfiles, and if they crop up, we'd have to refetch the original distfile otherwise
2012-07-29Update to 3.1.1:wiz2-7/+7
Changes from version 3.1.0 to version 3.1.1: - Improved MPFR manual. - Test coverage: 96.5% lines of code. - Bug fixes (see <http://www.mpfr.org/mpfr-3.1.0/#fixed> or ChangeLog file).
2012-05-07Set BUILDLINK_ABI_DEPENDS correctly (with +=, not ?=)dholland1-2/+2
It turns out there were a lot of these.
2012-05-03Use the .tar.bz2 distfile to avoid the xzcat dependency and issues whenhans2-6/+6
building this inside of gcc.
2012-04-22Update to 3.1.0:wiz3-31/+14
Changes from versions 3.0.* to version 3.1.0: - The "canard à l'orange" release. - 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_gmpinternals_p, mpfr_buildopt_tune_case, mpfr_frexp, mpfr_grandom and mpfr_z_sub. - New divide-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. 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. NetBSD-6.99.4/amd64: All 160 tests passed (1 test was not run)
2012-04-13Add inplace.mk to allow building this inside another package.hans1-0/+13
2011-09-14Fix detection of builtin mpfr on SunOS.hans1-2/+6
2011-07-14in the awk code to extract the version number from a header, avoiddrochner1-3/+3
the non-standard "gensub" function, from Alexander Nasonov per PM
2011-07-08allow to use gmp/mpfr/mpc which comes with the system (eg ondrochner1-0/+13
NetBSD-current with gcc45)
2011-05-08Update MPFR to version 3.0.1 patch level 3.asau2-3/+17
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.
2011-04-07Update MPFR to version 3.0.1asau2-19/+6
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.
2010-07-15Bump revision after math/mpfr update.asau1-2/+2
2010-07-15Update MPFR to version 3.0.0.asau4-35/+19
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-24Recursive revision bump for GMP update, 2nd part.asau1-1/+2
2010-03-24Recursive revision bump for GMP update.asau1-1/+2
2010-01-15Update to MPFR 2.4.2-p3.asau2-6/+13
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-15Set LICENSE.wiz1-1/+2
2009-12-15Update to 2.4.2:wiz4-24/+21
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).