diff --git a/baselibs.conf b/baselibs.conf index b8d46d7..2103dee 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,7 +1,4 @@ -targettype x86 package libmpfr4 - obsoletes "mpfr-" -libmpfr4 - obsoletes "mpfr-" +libmpfr6 mpfr-devel requires -mpfr- - requires "libmpfr4- = " + requires "libmpfr6- = " diff --git a/mpfr-3.1.6.tar.bz2 b/mpfr-3.1.6.tar.bz2 deleted file mode 100644 index 34baf28..0000000 --- a/mpfr-3.1.6.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cf4f4b2d80abb79e820e78c8077b6725bbbb4e8f41896783c899087be0e94068 -size 1287202 diff --git a/mpfr-3.1.6.tar.bz2.asc b/mpfr-3.1.6.tar.bz2.asc deleted file mode 100644 index 4a774e8..0000000 --- a/mpfr-3.1.6.tar.bz2.asc +++ /dev/null @@ -1,6 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iF0EABECAB0WIQQH89u+zBo5YFB4CU2YDBl2mMNznQUCWbEyIQAKCRCYDBl2mMNz -nejGAJ0eadyPLhWCUfoz4EtFnAJe9hBZaACfWRg1A6k3TmFDTzAInvm0dyK3t+Y= -=8DPG ------END PGP SIGNATURE----- diff --git a/mpfr-4.0.0.tar.bz2 b/mpfr-4.0.0.tar.bz2 new file mode 100644 index 0000000..f326f88 --- /dev/null +++ b/mpfr-4.0.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6aa31fbf3bd1f9f95bcfa241590a9d11cb0f874e2bb93b99c9e2de8eaea6d5fd +size 1619917 diff --git a/mpfr-4.0.0.tar.bz2.asc b/mpfr-4.0.0.tar.bz2.asc new file mode 100644 index 0000000..af7edb9 --- /dev/null +++ b/mpfr-4.0.0.tar.bz2.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP SIGNATURE----- + +iF0EABECAB0WIQQH89u+zBo5YFB4CU2YDBl2mMNznQUCWkDgWAAKCRCYDBl2mMNz +ncbSAKCvX7+vUiJPsyQxC3aZv2IYOONrGgCfZF5GSVvFkmf4Ra8otu9Wg/8fyXM= +=H0Ch +-----END PGP SIGNATURE----- diff --git a/mpfr.changes b/mpfr.changes index 62d8b76..4659b0f 100644 --- a/mpfr.changes +++ b/mpfr.changes @@ -1,3 +1,114 @@ +------------------------------------------------------------------- +Tue Jan 2 12:28:32 UTC 2018 - rguenther@suse.com + +- Update to mpfr 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). + ------------------------------------------------------------------- Tue Sep 12 08:03:00 UTC 2017 - rguenther@suse.com diff --git a/mpfr.spec b/mpfr.spec index f46692c..8b4ed6c 100644 --- a/mpfr.spec +++ b/mpfr.spec @@ -1,7 +1,7 @@ # # spec file for package mpfr # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: mpfr -Version: 3.1.6 +Version: 4.0.0 Release: 0 Summary: The GNU multiple-precision floating-point library License: LGPL-3.0+ @@ -28,6 +28,7 @@ Source1: http://www.mpfr.org/mpfr-%{version}/mpfr-%{version}.tar.bz2.asc Source2: %{name}.keyring Source3: baselibs.conf BuildRequires: gmp-devel +BuildRequires: pkg-config BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -41,11 +42,11 @@ well-defined semantics. It copies the good ideas from the ANSI/IEEE-754 standard for double-precision floating-point arithmetic (53-bit mantissa). -%package -n libmpfr4 +%package -n libmpfr6 Summary: The GNU multiple-precision floating-point shared library Group: Development/Libraries/C and C++ -%description -n libmpfr4 +%description -n libmpfr6 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. @@ -54,7 +55,7 @@ based on the GMP multiple-precision library. Summary: Development files for the GNU multiple-precision floating-point library Group: Development/Libraries/C and C++ Requires: gmp-devel -Requires: libmpfr4 = %{version} +Requires: libmpfr6 = %{version} Requires(pre): %{install_info_prereq} %description devel @@ -86,17 +87,17 @@ make check %{?_smp_mflags} make %{?_smp_mflags} DESTDIR=%{buildroot} install find %{buildroot} -type f -name "*.la" -delete -print -%post -n libmpfr4 -p /sbin/ldconfig +%post -n libmpfr6 -p /sbin/ldconfig %post devel %install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%postun -n libmpfr4 -p /sbin/ldconfig +%postun -n libmpfr6 -p /sbin/ldconfig %postun devel %install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz -%files -n libmpfr4 +%files -n libmpfr6 %defattr(-,root,root) -%{_libdir}/libmpfr.so.4* +%{_libdir}/libmpfr.so.6* %files devel %defattr(-,root,root) @@ -105,5 +106,6 @@ find %{buildroot} -type f -name "*.la" -delete -print %{_libdir}/libmpfr.so %{_includedir}/mpf2mpfr.h %{_includedir}/mpfr.h +%{_libdir}/pkgconfig/mpfr.pc %changelog