Up to [cvs.NetBSD.org] / src / external / lgpl3 / mpfr / dist / src
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: mpfr, MAIN
import MPFR 4.2.1. mostly a bug-fix release, highlights include: - abort on lock failure, instead of just warn - better Inf handling - fix an unlikely stack overflow in mpfr_rec_sqrt() - fixes for mpfr_reldiff() - fix boundary error in mpfr_pow_general() - fixes to printing Nan and Inf - many manual and test updates
initial import of MPFR 4.2.0. changes from 4.1.0 include: Binary compatible with MPFR 4.0.* and 4.1.*, 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 functions mpfr_cosu, mpfr_sinu, mpfr_tanu, mpfr_acosu, mpfr_asinu, mpfr_atanu and mpfr_atan2u. New functions mpfr_cospi, mpfr_sinpi, mpfr_tanpi, mpfr_acospi, mpfr_asinpi, mpfr_atanpi and mpfr_atan2pi. New functions mpfr_log2p1, mpfr_log10p1, mpfr_exp2m1, mpfr_exp10m1 and mpfr_compound_si. New functions mpfr_fmod_ui, mpfr_powr, mpfr_pown, mpfr_pow_uj, mpfr_pow_sj and mpfr_rootn_si (mpfr_pown is actually a macro defined as an alias for mpfr_pow_sj). Bug fixes. - In particular, for the formatted output functions (mpfr_printf, etc.), the case where the precision consists only of a period has been fixed to be like .0 as specified in the ISO C standard, and the manual has been corrected and clarified. - The macros of the custom interface have also been fixed: they now behave like functions (except a minor limitation for mpfr_custom_init_set).
GNU mpfr 4.1.0. main changes from 4.0: 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). 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.
Sync with HEAD
Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes)
import mpfr 4.0.1. main changes since 3.1.5 are: Changes from version 4.0.0 to version 4.0.1: - 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. Changes from versions 3.1.* to version 4.0.0: - 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. - Dropped K&R C compatibility. - 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.
initial import of MPFR 3.1.5 package. changes since 3.1.2: 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. 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). 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).
Rebase to HEAD as of a few days ago.
sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
file sin_cos.c was added on branch tls-maxphys on 2014-08-20 00:00:06 +0000
file sin_cos.c was added on branch yamt-pagecache on 2014-05-22 14:09:17 +0000
initial import of MPFR 3.1.2. changes since 3.0.1: - Bug fixes (see <http://www.mpfr.org/mpfr-3.1.1/#fixed> or ChangeLog file). - Bug fixes (see <http://www.mpfr.org/mpfr-3.1.0/#fixed> or ChangeLog file). - 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. - 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. - 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. - Internal change: the logging mechanism has been improved. - Bug fixes, in particular a huge inefficiency in mpfr_exp (when the target precision is less than MPFR_EXP_THRESHOLD) on hard-to-round cases, which can take several minutes.
Initial revision