+++ /dev/null
-https://bugs.gentoo.org/642300
-
-From 36a84f43f326de14db888ba07936cc9621c23f19 Mon Sep 17 00:00:00 2001
-From: Paul Zimmermann <Paul.Zimmermann@inria.fr>
-Date: Sun, 10 Jan 2016 23:19:37 +0100
-Subject: [PATCH] use mpfr_fmma and mpfr_fmms if provided by mpfr
-
----
- configure.ac | 16 ++++++++++++++++
- src/mul.c | 15 ++++++++++++---
- 2 files changed, 28 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b6fa199..bdb21ff 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -165,6 +165,22 @@ AC_LINK_IFELSE(
- AC_MSG_ERROR([libmpfr not found or uses a different ABI (including static vs shared).])
- ])
-
-+AC_MSG_CHECKING(for mpfr_fmma)
-+LIBS="-lmpfr $LIBS"
-+AC_LINK_IFELSE(
-+ [AC_LANG_PROGRAM(
-+ [[#include "mpfr.h"]],
-+ [[mpfr_t x; mpfr_fmma (x, x, x, x, x, 0);]]
-+ )],
-+ [
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE(HAVE_MPFR_FMMA, 1, [mpfr_fmma is present])
-+ ],
-+ [
-+ AC_MSG_RESULT(no)
-+ AC_DEFINE(HAVE_MPFR_FMMA, 0, [mpfr_fmma is not present])
-+ ])
-+
- # Check for a recent GMP
- # We only guarantee that with a *functional* and recent enough GMP version,
- # MPC will compile; we do not guarantee that GMP will compile.
-diff --git a/src/mul.c b/src/mul.c
-index 3c9c0a7..8c4afe4 100644
---- a/src/mul.c
-+++ b/src/mul.c
-@@ -171,8 +171,9 @@
- }
-
-
-+#if HAVE_MPFR_FMMA == 0
- static int
--mpfr_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
-+mpc_fmma (mpfr_ptr z, mpfr_srcptr a, mpfr_srcptr b, mpfr_srcptr c,
- mpfr_srcptr d, int sign, mpfr_rnd_t rnd)
- {
- /* Computes z = ab+cd if sign >= 0, or z = ab-cd if sign < 0.
-@@ -319,6 +320,7 @@
-
- return inex;
- }
-+#endif
-
-
- int
-@@ -337,10 +339,17 @@
- else
- rop [0] = z [0];
-
-- inex = MPC_INEX (mpfr_fmma (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
-- mpc_imagref (y), -1, MPC_RND_RE (rnd)),
-+#if HAVE_MPFR_FMMA
-+ inex = MPC_INEX (mpfr_fmms (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
-+ mpc_imagref (y), MPC_RND_RE (rnd)),
- mpfr_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x),
-+ mpc_realref (y), MPC_RND_IM (rnd)));
-+#else
-+ inex = MPC_INEX (mpc_fmma (mpc_realref (rop), mpc_realref (x), mpc_realref (y), mpc_imagref (x),
-+ mpc_imagref (y), -1, MPC_RND_RE (rnd)),
-+ mpc_fmma (mpc_imagref (rop), mpc_realref (x), mpc_imagref (y), mpc_imagref (x),
- mpc_realref (y), +1, MPC_RND_IM (rnd)));
-+#endif
-
- mpc_set (z, rop, MPC_RNDNN);
- if (overlap)
---- a/configure
-+++ b/configure
-@@ -13835,6 +13835,41 @@ else
- $as_echo "no" >&6; }
- as_fn_error $? "libmpfr not found or uses a different ABI (including static vs shared)." "$LINENO" 5
-
-+fi
-+rm -f core conftest.err conftest.$ac_objext \
-+ conftest$ac_exeext conftest.$ac_ext
-+
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpfr_fmma" >&5
-+$as_echo_n "checking for mpfr_fmma... " >&6; }
-+LIBS="-lmpfr $LIBS"
-+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-+/* end confdefs.h. */
-+#include "mpfr.h"
-+int
-+main ()
-+{
-+mpfr_t x; mpfr_fmma (x, x, x, x, x, 0);
-+
-+ ;
-+ return 0;
-+}
-+_ACEOF
-+if ac_fn_c_try_link "$LINENO"; then :
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-+$as_echo "yes" >&6; }
-+
-+$as_echo "#define HAVE_MPFR_FMMA 1" >>confdefs.h
-+
-+
-+else
-+
-+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-+$as_echo "no" >&6; }
-+
-+$as_echo "#define HAVE_MPFR_FMMA 0" >>confdefs.h
-+
-+
- fi
- rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
---
-2.15.1
-
+++ /dev/null
-mpfr-4.0.0 removed 'mpfr_add_one_ulp' and 'mpfr_sub_one_ulp'
-
-From 5eaa17651b759c7856a118835802fecbebcf46ad Mon Sep 17 00:00:00 2001
-From: Paul Zimmermann <Paul.Zimmermann@inria.fr>
-Date: Wed, 4 Oct 2017 22:09:40 +0200
-Subject: [PATCH] replace obsolete mpfr_add_one_ulp/mpfr_sub_one_ulp functions
-
----
- src/mpc-impl.h | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/mpc-impl.h b/src/mpc-impl.h
-index 4026765..5420691 100644
---- a/src/mpc-impl.h
-+++ b/src/mpc-impl.h
-@@ -60,2 +60,4 @@ along with this program. If not, see http://www.gnu.org/licenses/ .
--#define MPFR_ADD_ONE_ULP(x) mpfr_add_one_ulp (x, GMP_RNDN)
--#define MPFR_SUB_ONE_ULP(x) mpfr_sub_one_ulp (x, GMP_RNDN)
-+#define MPFR_ADD_ONE_ULP(x) \
-+ (mpfr_sgn (x) > 0 ? mpfr_nextabove (x) : mpfr_nextbelow (x))
-+#define MPFR_SUB_ONE_ULP(x) \
-+ (mpfr_sgn (x) > 0 ? mpfr_nextbelow (x) : mpfr_nextabove (x))
---
-2.15.1
-
+++ /dev/null
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eutils libtool ltprune multilib-minimal
-
-DESCRIPTION="A library for multiprecision complex arithmetic with exact rounding"
-HOMEPAGE="http://mpc.multiprecision.org/"
-SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0/3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="static-libs"
-
-DEPEND=">=dev-libs/gmp-4.3.2:0=[${MULTILIB_USEDEP},static-libs?]
- >=dev-libs/mpfr-2.4.2:0=[${MULTILIB_USEDEP},static-libs?]"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-mpfr-4.0.0.patch
- "${FILESDIR}"/${P}-no-ulp.patch
-)
-
-src_prepare() {
- default
-
- elibtoolize #347317
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} econf $(use_enable static-libs static)
-}
-
-multilib_src_install_all() {
- einstalldocs
- prune_libtool_files
-}