packages/libs/boost/patches/004-math.patch
Carlos Miguel Ferreira c8907926cc
boost: Package Version Update (1.72.0)
This commit updates Boost to version 1.72.0
    There are no new libraries in this release.

    Note:
    - This commit also adds a post-release patch to fix an issue
    with Boost.Coroutine

    More info about Boost 1.72.0 can be found at the usual place [1].

    [1]: https://www.boost.org/users/history/version_1_72_0.html

Signed-off-by: Carlos Miguel Ferreira <carlosmf.pt@gmail.com>
2019-12-21 22:19:56 +00:00

30 lines
1.3 KiB
Diff

From 5f19fd7dc6c4dd37fb0409f08a0b7dbb887dd516 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Thu, 19 Dec 2019 17:46:46 -0800
Subject: [PATCH] roots: Fix fma_workaround
fma takes three parameters, not one.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
include/boost/math/tools/roots.hpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/boost/math/tools/roots.hpp b/boost/math/tools/roots.hpp
index 8b3ab7eb9..5d7936bb2 100644
--- a/boost/math/tools/roots.hpp
+++ b/boost/math/tools/roots.hpp
@@ -861,10 +861,10 @@ Complex complex_newton(F g, Complex guess, int max_iterations = std::numeric_lim
namespace detail
{
#if defined(BOOST_GNU_STDLIB) && !defined(_GLIBCXX_USE_C99_MATH_TR1)
-float fma_workaround(float f) { return ::fmaf(f); }
-double fma_workaround(double f) { return ::fma(f); }
+inline float fma_workaround(float x, float y, float z) { return ::fmaf(x, y, z); }
+inline double fma_workaround(double x, double y, double z) { return ::fma(x, y, z); }
#ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
-long double fma_workaround(long double f) { return ::fmal(f); }
+inline long double fma_workaround(long double x, long double y, long double z) { return ::fmal(x, y, z); }
#endif
#endif
template<class T>