Up to [cvs.NetBSD.org] / src / external / lgpl3 / mpfr / dist / src
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: mpfr, MAIN
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)
file invert_limb.h was added on branch phil-wifi on 2019-06-10 22:02:27 +0000
file invert_limb.h was added on branch pgoyette-compat on 2018-09-06 06:53:46 +0000
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 revision