diff options
Diffstat (limited to 'src/third_party/boost-1.69.0/boost/math/tools/detail')
114 files changed, 0 insertions, 25072 deletions
diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_10.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_10.hpp deleted file mode 100644 index 48cf9e39b3a..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_10.hpp +++ /dev/null @@ -1,84 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_10_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_10_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_11.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_11.hpp deleted file mode 100644 index e52595429eb..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_11.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_11_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_11_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_12.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_12.hpp deleted file mode 100644 index 10cd178975d..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_12.hpp +++ /dev/null @@ -1,96 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_12_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_12_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_13.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_13.hpp deleted file mode 100644 index 90fa9ec43d8..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_13.hpp +++ /dev/null @@ -1,102 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_13_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_13_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_14.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_14.hpp deleted file mode 100644 index 389c8063b0f..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_14.hpp +++ /dev/null @@ -1,108 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_14_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_14_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_15.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_15.hpp deleted file mode 100644 index d196a41603b..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_15.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_15_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_15_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_16.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_16.hpp deleted file mode 100644 index fa48c6614c0..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_16.hpp +++ /dev/null @@ -1,120 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_16_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_16_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_17.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_17.hpp deleted file mode 100644 index 4575aeac7b3..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_17.hpp +++ /dev/null @@ -1,126 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_17_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_17_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_18.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_18.hpp deleted file mode 100644 index 95dd4004169..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_18.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_18_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_18_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_19.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_19.hpp deleted file mode 100644 index 6d73eb8ffc1..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_19.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_19_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_19_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_2.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_2.hpp deleted file mode 100644 index 85640edf677..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_2.hpp +++ /dev/null @@ -1,36 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_2_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_2_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_20.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_20.hpp deleted file mode 100644 index f8b7f34384e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_20.hpp +++ /dev/null @@ -1,144 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_20_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<20>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((((((((((((((a[19] * x + a[18]) * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_3.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_3.hpp deleted file mode 100644 index c0ad4660e9b..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_3.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_3_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_3_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_4.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_4.hpp deleted file mode 100644 index 27ad74eb951..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_4.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_4_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_4_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_5.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_5.hpp deleted file mode 100644 index 5cfafb4052c..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_5.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_5_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_5_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_6.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_6.hpp deleted file mode 100644 index f7f4bee4801..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_6.hpp +++ /dev/null @@ -1,60 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_6_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_6_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_7.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_7.hpp deleted file mode 100644 index c612822fc05..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_7.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_7_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_7_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_8.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_8.hpp deleted file mode 100644 index 5d9b453b9d1..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_8.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_8_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_8_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_9.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_9.hpp deleted file mode 100644 index 84977fd13b6..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner1_9.hpp +++ /dev/null @@ -1,78 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_9_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_9_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_10.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_10.hpp deleted file mode 100644 index f10c5d04928..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_10.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_10_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_10_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_11.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_11.hpp deleted file mode 100644 index 757357addf9..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_11.hpp +++ /dev/null @@ -1,97 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_11_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_11_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_12.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_12.hpp deleted file mode 100644 index e0fc8a9df75..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_12.hpp +++ /dev/null @@ -1,104 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_12_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_12_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_13.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_13.hpp deleted file mode 100644 index c13a0a7cc2c..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_13.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_13_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_13_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_14.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_14.hpp deleted file mode 100644 index ccc6e7d8da1..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_14.hpp +++ /dev/null @@ -1,118 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_14_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_14_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_15.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_15.hpp deleted file mode 100644 index a409ba7fdba..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_15.hpp +++ /dev/null @@ -1,125 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_15_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_15_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_16.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_16.hpp deleted file mode 100644 index a69c1a36192..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_16.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_16_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_16_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_17.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_17.hpp deleted file mode 100644 index 9e7c05d0071..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_17.hpp +++ /dev/null @@ -1,139 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_17_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_17_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_18.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_18.hpp deleted file mode 100644 index 1ea0e052c06..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_18.hpp +++ /dev/null @@ -1,146 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_18_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_18_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_19.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_19.hpp deleted file mode 100644 index 45c125c871c..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_19.hpp +++ /dev/null @@ -1,153 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_19_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_19_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_2.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_2.hpp deleted file mode 100644 index 20da483c338..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_2_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_2_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_20.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_20.hpp deleted file mode 100644 index 956c6dba4f9..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_20.hpp +++ /dev/null @@ -1,160 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_20_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<20>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((((((((a[19] * x2 + a[17]) * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_3.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_3.hpp deleted file mode 100644 index 58b290c7c91..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_3.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_3_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_3_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_4.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_4.hpp deleted file mode 100644 index 74f969b749c..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_4.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_4_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_4_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_5.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_5.hpp deleted file mode 100644 index 134cbc8ef90..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_5.hpp +++ /dev/null @@ -1,55 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_5_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_5_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_6.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_6.hpp deleted file mode 100644 index 7cb75d75c8f..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_6.hpp +++ /dev/null @@ -1,62 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_6_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_6_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_7.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_7.hpp deleted file mode 100644 index 327639deb61..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_7.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_7_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_7_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_8.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_8.hpp deleted file mode 100644 index 2145ad6dcdf..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_8.hpp +++ /dev/null @@ -1,76 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_8_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_8_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_9.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_9.hpp deleted file mode 100644 index 08f6336e49a..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner2_9.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_9_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_9_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>(((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - return static_cast<V>((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_10.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_10.hpp deleted file mode 100644 index 05ad20cc300..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_10.hpp +++ /dev/null @@ -1,156 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_10_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_10_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_11.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_11.hpp deleted file mode 100644 index 9f8628e7504..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_11.hpp +++ /dev/null @@ -1,181 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_11_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_11_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_12.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_12.hpp deleted file mode 100644 index ccb3ec4d109..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_12.hpp +++ /dev/null @@ -1,208 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_12_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_12_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_13.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_13.hpp deleted file mode 100644 index a8cdf2c508f..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_13.hpp +++ /dev/null @@ -1,237 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_13_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_13_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_14.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_14.hpp deleted file mode 100644 index 5eb4ef1f289..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_14.hpp +++ /dev/null @@ -1,268 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_14_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_14_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_15.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_15.hpp deleted file mode 100644 index 7e8edcd8aab..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_15.hpp +++ /dev/null @@ -1,301 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_15_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_15_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[14] * x2 + a[12]); - t[1] = static_cast<V>(a[13] * x2 + a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_16.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_16.hpp deleted file mode 100644 index 58bea1581f2..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_16.hpp +++ /dev/null @@ -1,336 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_16_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_16_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[14] * x2 + a[12]); - t[1] = static_cast<V>(a[13] * x2 + a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_17.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_17.hpp deleted file mode 100644 index 007b8a4918d..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_17.hpp +++ /dev/null @@ -1,373 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_17_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_17_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[14] * x2 + a[12]); - t[1] = static_cast<V>(a[13] * x2 + a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[16] * x2 + a[14]); - t[1] = static_cast<V>(a[15] * x2 + a[13]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_18.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_18.hpp deleted file mode 100644 index 68935adba15..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_18.hpp +++ /dev/null @@ -1,412 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_18_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_18_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[14] * x2 + a[12]); - t[1] = static_cast<V>(a[13] * x2 + a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[16] * x2 + a[14]); - t[1] = static_cast<V>(a[15] * x2 + a[13]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[17] * x2 + a[15]; - t[1] = a[16] * x2 + a[14]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_19.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_19.hpp deleted file mode 100644 index acffba6b476..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_19.hpp +++ /dev/null @@ -1,453 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_19_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_19_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[14] * x2 + a[12]); - t[1] = static_cast<V>(a[13] * x2 + a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[16] * x2 + a[14]); - t[1] = static_cast<V>(a[15] * x2 + a[13]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[17] * x2 + a[15]; - t[1] = a[16] * x2 + a[14]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[18] * x2 + a[16]); - t[1] = static_cast<V>(a[17] * x2 + a[15]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[13]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_2.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_2.hpp deleted file mode 100644 index 6b8d9a71f87..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_2_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_2_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_20.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_20.hpp deleted file mode 100644 index b3a170c095f..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_20.hpp +++ /dev/null @@ -1,496 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_20_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_20_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[10] * x2 + a[8]); - t[1] = static_cast<V>(a[9] * x2 + a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[12] * x2 + a[10]); - t[1] = static_cast<V>(a[11] * x2 + a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[14] * x2 + a[12]); - t[1] = static_cast<V>(a[13] * x2 + a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[16] * x2 + a[14]); - t[1] = static_cast<V>(a[15] * x2 + a[13]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[17] * x2 + a[15]; - t[1] = a[16] * x2 + a[14]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[18] * x2 + a[16]); - t[1] = static_cast<V>(a[17] * x2 + a[15]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[13]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<20>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[19] * x2 + a[17]; - t[1] = a[18] * x2 + a[16]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[15]); - t[1] += static_cast<V>(a[14]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_3.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_3.hpp deleted file mode 100644 index 05fe88fcccf..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_3.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_3_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_3_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_4.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_4.hpp deleted file mode 100644 index b98d6f678d4..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_4.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_4_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_4_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_5.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_5.hpp deleted file mode 100644 index 12e639cef3e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_5.hpp +++ /dev/null @@ -1,61 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_5_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_5_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_6.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_6.hpp deleted file mode 100644 index b645cb5bbc0..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_6.hpp +++ /dev/null @@ -1,76 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_6_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_6_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_7.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_7.hpp deleted file mode 100644 index 3df4b5b4eff..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_7.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_7_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_7_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_8.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_8.hpp deleted file mode 100644 index 9a49d2555ed..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_8.hpp +++ /dev/null @@ -1,112 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_8_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_8_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_9.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_9.hpp deleted file mode 100644 index 3507d376047..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/polynomial_horner3_9.hpp +++ /dev/null @@ -1,133 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Unrolled polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_EVAL_9_HPP -#define BOOST_MATH_TOOLS_POLY_EVAL_9_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[1] * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[2] * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[3] * x + a[2]) * x + a[1]) * x + a[0]); -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[4] * x2 + a[2]); - t[1] = static_cast<V>(a[3] * x2 + a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[6] * x2 + a[4]); - t[1] = static_cast<V>(a[5] * x2 + a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[0] *= x; - return t[0] + t[1]; -} - -template <class T, class V> -inline V evaluate_polynomial_c_imp(const T* a, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - V x2 = x * x; - V t[2]; - t[0] = static_cast<V>(a[8] * x2 + a[6]); - t[1] = static_cast<V>(a[7] * x2 + a[5]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[0] *= x2; - t[1] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[0] *= x2; - t[0] += static_cast<V>(a[0]); - t[1] *= x; - return t[0] + t[1]; -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_10.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_10.hpp deleted file mode 100644 index e6708538698..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_10.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_10_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_10_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_11.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_11.hpp deleted file mode 100644 index 65e17598ff3..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_11.hpp +++ /dev/null @@ -1,150 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_11_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_11_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_12.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_12.hpp deleted file mode 100644 index de33af0e07c..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_12.hpp +++ /dev/null @@ -1,162 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_12_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_12_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_13.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_13.hpp deleted file mode 100644 index ed4ac1af8b9..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_13.hpp +++ /dev/null @@ -1,174 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_13_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_13_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_14.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_14.hpp deleted file mode 100644 index a3222f8212b..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_14.hpp +++ /dev/null @@ -1,186 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_14_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_14_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_15.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_15.hpp deleted file mode 100644 index c8cd691573f..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_15.hpp +++ /dev/null @@ -1,198 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_15_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_15_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_16.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_16.hpp deleted file mode 100644 index 8003c82db73..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_16.hpp +++ /dev/null @@ -1,210 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_16_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_16_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_17.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_17.hpp deleted file mode 100644 index 294c3f175d6..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_17.hpp +++ /dev/null @@ -1,222 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_17_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_17_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_18.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_18.hpp deleted file mode 100644 index 1a48bba0971..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_18.hpp +++ /dev/null @@ -1,234 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_18_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_18_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((b[17] * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) / (((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_19.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_19.hpp deleted file mode 100644 index 12fd75cf1bc..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_19.hpp +++ /dev/null @@ -1,246 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_19_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_19_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((b[17] * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) / (((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((((b[18] * x + b[17]) * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) * z + a[18]) / ((((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17]) * z + b[18])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_2.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_2.hpp deleted file mode 100644 index c838f2a2cd3..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_2.hpp +++ /dev/null @@ -1,42 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_2_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_2_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_20.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_20.hpp deleted file mode 100644 index 3ee3e966e61..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_20.hpp +++ /dev/null @@ -1,258 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_20_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_20_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((a[9] * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((b[9] * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) / (((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((a[10] * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((b[10] * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) / ((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((a[11] * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((b[11] * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) / (((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((a[12] * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((b[12] * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) / ((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((a[13] * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((b[13] * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) / (((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((a[14] * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((b[14] * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) / ((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((a[15] * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((b[15] * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) / (((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((((a[16] * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((b[16] * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) / ((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((((a[17] * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((b[17] * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) / (((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((((((((((((a[18] * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((((((((((((b[18] * x + b[17]) * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) * z + a[18]) / ((((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17]) * z + b[18])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<20>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((((((((((((((a[19] * x + a[18]) * x + a[17]) * x + a[16]) * x + a[15]) * x + a[14]) * x + a[13]) * x + a[12]) * x + a[11]) * x + a[10]) * x + a[9]) * x + a[8]) * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((((((((((((((b[19] * x + b[18]) * x + b[17]) * x + b[16]) * x + b[15]) * x + b[14]) * x + b[13]) * x + b[12]) * x + b[11]) * x + b[10]) * x + b[9]) * x + b[8]) * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((((((((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) * z + a[9]) * z + a[10]) * z + a[11]) * z + a[12]) * z + a[13]) * z + a[14]) * z + a[15]) * z + a[16]) * z + a[17]) * z + a[18]) * z + a[19]) / (((((((((((((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8]) * z + b[9]) * z + b[10]) * z + b[11]) * z + b[12]) * z + b[13]) * z + b[14]) * z + b[15]) * z + b[16]) * z + b[17]) * z + b[18]) * z + b[19])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_3.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_3.hpp deleted file mode 100644 index 034ead3f660..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_3.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_3_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_3_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_4.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_4.hpp deleted file mode 100644 index de2972f4c49..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_4.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_4_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_4_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_5.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_5.hpp deleted file mode 100644 index a59ff114d14..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_5.hpp +++ /dev/null @@ -1,78 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_5_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_5_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_6.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_6.hpp deleted file mode 100644 index c5000c5db46..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_6.hpp +++ /dev/null @@ -1,90 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_6_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_6_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_7.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_7.hpp deleted file mode 100644 index bc860f3bf7e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_7.hpp +++ /dev/null @@ -1,102 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_7_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_7_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_8.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_8.hpp deleted file mode 100644 index 69368978b6a..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_8.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_8_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_8_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_9.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_9.hpp deleted file mode 100644 index 0aafea15fd8..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner1_9.hpp +++ /dev/null @@ -1,126 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using Horners rule -#ifndef BOOST_MATH_TOOLS_POLY_RAT_9_HPP -#define BOOST_MATH_TOOLS_POLY_RAT_9_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((a[0] * z + a[1]) / (b[0] * z + b[1])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((a[0] * z + a[1]) * z + a[2]) / ((b[0] * z + b[1]) * z + b[2])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) / (((b[0] * z + b[1]) * z + b[2]) * z + b[3])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((a[4] * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((b[4] * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) / ((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((a[5] * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((b[5] * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) / (((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((a[6] * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((b[6] * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) / ((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>((((((((a[7] * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / (((((((b[7] * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) / (((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - return static_cast<V>(((((((((a[8] * x + a[7]) * x + a[6]) * x + a[5]) * x + a[4]) * x + a[3]) * x + a[2]) * x + a[1]) * x + a[0]) / ((((((((b[8] * x + b[7]) * x + b[6]) * x + b[5]) * x + b[4]) * x + b[3]) * x + b[2]) * x + b[1]) * x + b[0])); - else - { - V z = 1 / x; - return static_cast<V>(((((((((a[0] * z + a[1]) * z + a[2]) * z + a[3]) * z + a[4]) * z + a[5]) * z + a[6]) * z + a[7]) * z + a[8]) / ((((((((b[0] * z + b[1]) * z + b[2]) * z + b[3]) * z + b[4]) * z + b[5]) * z + b[6]) * z + b[7]) * z + b[8])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_10.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_10.hpp deleted file mode 100644 index 127777bc2a2..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_10.hpp +++ /dev/null @@ -1,144 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_10_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_10_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_11.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_11.hpp deleted file mode 100644 index 53983ed4ad1..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_11.hpp +++ /dev/null @@ -1,160 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_11_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_11_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_12.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_12.hpp deleted file mode 100644 index 4ad0856b06e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_12.hpp +++ /dev/null @@ -1,176 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_12_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_12_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_13.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_13.hpp deleted file mode 100644 index 5f9303d0c3a..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_13.hpp +++ /dev/null @@ -1,192 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_13_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_13_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_14.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_14.hpp deleted file mode 100644 index dc512f393fd..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_14.hpp +++ /dev/null @@ -1,208 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_14_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_14_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_15.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_15.hpp deleted file mode 100644 index cf084e8be05..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_15.hpp +++ /dev/null @@ -1,224 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_15_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_15_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_16.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_16.hpp deleted file mode 100644 index 3d13db25534..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_16.hpp +++ /dev/null @@ -1,240 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_16_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_16_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_17.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_17.hpp deleted file mode 100644 index 3adf4053bdf..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_17.hpp +++ /dev/null @@ -1,256 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_17_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_17_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_18.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_18.hpp deleted file mode 100644 index 607609fd8e4..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_18.hpp +++ /dev/null @@ -1,272 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_18_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_18_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z2 + b[17])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_19.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_19.hpp deleted file mode 100644 index bc324c3be32..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_19.hpp +++ /dev/null @@ -1,288 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_19_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_19_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z2 + b[17])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((((b[18] * x2 + b[16]) * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z2 + a[18] + ((((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) * z) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z2 + b[18] + ((((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z2 + b[17]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_2.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_2.hpp deleted file mode 100644 index 95ec0251d5e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_2_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_2_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_20.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_20.hpp deleted file mode 100644 index cf1211b61fb..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_20.hpp +++ /dev/null @@ -1,304 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_20_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_20_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((a[9] * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((b[9] * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10] + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z) / (((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10] + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((a[10] * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((b[10] * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z + ((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z + ((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((a[11] * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((b[11] * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12] + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z) / ((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12] + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((a[12] * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((b[12] * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z + (((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z + (((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((a[13] * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((b[13] * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14] + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z) / (((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14] + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((a[14] * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((b[14] * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z + ((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z + ((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((((((a[15] * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((((((b[15] * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16] + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z) / ((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16] + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + (((((((a[16] * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / (((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + (((((((b[16] * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z + (((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z + (((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z2 + b[17])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((((((((a[17] * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / (((((((((b[18] * x2 + b[16]) * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((((((((b[17] * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z2 + a[18] + ((((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) * z) / (((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z2 + b[18] + ((((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z2 + b[17]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<20>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((((((((a[19] * x2 + a[17]) * x2 + a[15]) * x2 + a[13]) * x2 + a[11]) * x2 + a[9]) * x2 + a[7]) * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((((((((a[18] * x2 + a[16]) * x2 + a[14]) * x2 + a[12]) * x2 + a[10]) * x2 + a[8]) * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((((((((b[19] * x2 + b[17]) * x2 + b[15]) * x2 + b[13]) * x2 + b[11]) * x2 + b[9]) * x2 + b[7]) * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((((((((b[18] * x2 + b[16]) * x2 + b[14]) * x2 + b[12]) * x2 + b[10]) * x2 + b[8]) * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((((((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8]) * z2 + a[10]) * z2 + a[12]) * z2 + a[14]) * z2 + a[16]) * z2 + a[18]) * z + ((((((((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z2 + a[9]) * z2 + a[11]) * z2 + a[13]) * z2 + a[15]) * z2 + a[17]) * z2 + a[19]) / ((((((((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8]) * z2 + b[10]) * z2 + b[12]) * z2 + b[14]) * z2 + b[16]) * z2 + b[18]) * z + ((((((((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z2 + b[9]) * z2 + b[11]) * z2 + b[13]) * z2 + b[15]) * z2 + b[17]) * z2 + b[19])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_3.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_3.hpp deleted file mode 100644 index 9ce437b41f8..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_3.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_3_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_3_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_4.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_4.hpp deleted file mode 100644 index 00543ede853..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_4.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_4_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_4_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_5.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_5.hpp deleted file mode 100644 index d117b66633d..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_5.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_5_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_5_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_6.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_6.hpp deleted file mode 100644 index c431d16344a..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_6.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_6_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_6_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_7.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_7.hpp deleted file mode 100644 index 2104302472f..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_7.hpp +++ /dev/null @@ -1,96 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_7_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_7_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_8.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_8.hpp deleted file mode 100644 index fd98289b993..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_8.hpp +++ /dev/null @@ -1,112 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_8_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_8_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_9.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_9.hpp deleted file mode 100644 index 1081ab2f8b4..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner2_9.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_9_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_9_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((a[4] * x2 + a[2]) * x2 + a[0] + (a[3] * x2 + a[1]) * x) / ((b[4] * x2 + b[2]) * x2 + b[0] + (b[3] * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((a[0] * z2 + a[2]) * z2 + a[4] + (a[1] * z2 + a[3]) * z) / ((b[0] * z2 + b[2]) * z2 + b[4] + (b[1] * z2 + b[3]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[5] * x2 + a[3]) * x2 + a[1]) * x + (a[4] * x2 + a[2]) * x2 + a[0]) / (((b[5] * x2 + b[3]) * x2 + b[1]) * x + (b[4] * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z + (a[1] * z2 + a[3]) * z2 + a[5]) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z + (b[1] * z2 + b[3]) * z2 + b[5])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>((((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + ((a[5] * x2 + a[3]) * x2 + a[1]) * x) / (((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + ((b[5] * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6] + ((a[1] * z2 + a[3]) * z2 + a[5]) * z) / (((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6] + ((b[1] * z2 + b[3]) * z2 + b[5]) * z)); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x + ((a[6] * x2 + a[4]) * x2 + a[2]) * x2 + a[0]) / ((((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x + ((b[6] * x2 + b[4]) * x2 + b[2]) * x2 + b[0])); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z + ((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z + ((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7])); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - return static_cast<V>(((((a[8] * x2 + a[6]) * x2 + a[4]) * x2 + a[2]) * x2 + a[0] + (((a[7] * x2 + a[5]) * x2 + a[3]) * x2 + a[1]) * x) / ((((b[8] * x2 + b[6]) * x2 + b[4]) * x2 + b[2]) * x2 + b[0] + (((b[7] * x2 + b[5]) * x2 + b[3]) * x2 + b[1]) * x)); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - return static_cast<V>(((((a[0] * z2 + a[2]) * z2 + a[4]) * z2 + a[6]) * z2 + a[8] + (((a[1] * z2 + a[3]) * z2 + a[5]) * z2 + a[7]) * z) / ((((b[0] * z2 + b[2]) * z2 + b[4]) * z2 + b[6]) * z2 + b[8] + (((b[1] * z2 + b[3]) * z2 + b[5]) * z2 + b[7]) * z)); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_10.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_10.hpp deleted file mode 100644 index 7da05875f32..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_10.hpp +++ /dev/null @@ -1,396 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_10_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_10_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_11.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_11.hpp deleted file mode 100644 index df971197a35..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_11.hpp +++ /dev/null @@ -1,482 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_11_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_11_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_12.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_12.hpp deleted file mode 100644 index 668f76684fa..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_12.hpp +++ /dev/null @@ -1,576 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_12_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_12_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_13.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_13.hpp deleted file mode 100644 index b0b4c2ac589..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_13.hpp +++ /dev/null @@ -1,678 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_13_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_13_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_14.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_14.hpp deleted file mode 100644 index 92035ef8060..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_14.hpp +++ /dev/null @@ -1,788 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_14_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_14_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_15.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_15.hpp deleted file mode 100644 index 9536ecd8447..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_15.hpp +++ /dev/null @@ -1,906 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_15_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_15_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[14] * x2 + a[12]; - t[1] = a[13] * x2 + a[11]; - t[2] = b[14] * x2 + b[12]; - t[3] = b[13] * x2 + b[11]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[14]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_16.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_16.hpp deleted file mode 100644 index 7ccf8f6e7af..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_16.hpp +++ /dev/null @@ -1,1032 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_16_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_16_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[14] * x2 + a[12]; - t[1] = a[13] * x2 + a[11]; - t[2] = b[14] * x2 + b[12]; - t[3] = b[13] * x2 + b[11]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[14]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[2] = b[15] * x2 + b[13]; - t[3] = b[14] * x2 + b[12]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_17.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_17.hpp deleted file mode 100644 index 1a35c47397a..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_17.hpp +++ /dev/null @@ -1,1166 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_17_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_17_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[14] * x2 + a[12]; - t[1] = a[13] * x2 + a[11]; - t[2] = b[14] * x2 + b[12]; - t[3] = b[13] * x2 + b[11]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[14]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[2] = b[15] * x2 + b[13]; - t[3] = b[14] * x2 + b[12]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[16] * x2 + a[14]; - t[1] = a[15] * x2 + a[13]; - t[2] = b[16] * x2 + b[14]; - t[3] = b[15] * x2 + b[13]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[11]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[16]); - t[2] += static_cast<V>(b[16]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_18.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_18.hpp deleted file mode 100644 index 8a1c16eb2f0..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_18.hpp +++ /dev/null @@ -1,1308 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_18_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_18_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[14] * x2 + a[12]; - t[1] = a[13] * x2 + a[11]; - t[2] = b[14] * x2 + b[12]; - t[3] = b[13] * x2 + b[11]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[14]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[2] = b[15] * x2 + b[13]; - t[3] = b[14] * x2 + b[12]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[16] * x2 + a[14]; - t[1] = a[15] * x2 + a[13]; - t[2] = b[16] * x2 + b[14]; - t[3] = b[15] * x2 + b[13]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[11]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[16]); - t[2] += static_cast<V>(b[16]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[17] * x2 + a[15]; - t[1] = a[16] * x2 + a[14]; - t[2] = b[17] * x2 + b[15]; - t[3] = b[16] * x2 + b[14]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[13]); - t[3] += static_cast<V>(b[12]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[16]); - t[1] += static_cast<V>(a[17]); - t[2] += static_cast<V>(b[16]); - t[3] += static_cast<V>(b[17]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_19.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_19.hpp deleted file mode 100644 index 15d16bafc39..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_19.hpp +++ /dev/null @@ -1,1458 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_19_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_19_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[14] * x2 + a[12]; - t[1] = a[13] * x2 + a[11]; - t[2] = b[14] * x2 + b[12]; - t[3] = b[13] * x2 + b[11]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[14]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[2] = b[15] * x2 + b[13]; - t[3] = b[14] * x2 + b[12]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[16] * x2 + a[14]; - t[1] = a[15] * x2 + a[13]; - t[2] = b[16] * x2 + b[14]; - t[3] = b[15] * x2 + b[13]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[11]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[16]); - t[2] += static_cast<V>(b[16]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[17] * x2 + a[15]; - t[1] = a[16] * x2 + a[14]; - t[2] = b[17] * x2 + b[15]; - t[3] = b[16] * x2 + b[14]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[13]); - t[3] += static_cast<V>(b[12]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[16]); - t[1] += static_cast<V>(a[17]); - t[2] += static_cast<V>(b[16]); - t[3] += static_cast<V>(b[17]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[18] * x2 + a[16]; - t[1] = a[17] * x2 + a[15]; - t[2] = b[18] * x2 + b[16]; - t[3] = b[17] * x2 + b[15]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[13]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[11]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[16]); - t[1] += static_cast<V>(a[17]); - t[2] += static_cast<V>(b[16]); - t[3] += static_cast<V>(b[17]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[18]); - t[2] += static_cast<V>(b[18]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_2.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_2.hpp deleted file mode 100644 index 95ec0251d5e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_2.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_2_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_2_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_20.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_20.hpp deleted file mode 100644 index 78233214d87..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_20.hpp +++ /dev/null @@ -1,1616 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_20_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_20_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<10>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[9] * x2 + a[7]; - t[1] = a[8] * x2 + a[6]; - t[2] = b[9] * x2 + b[7]; - t[3] = b[8] * x2 + b[6]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<11>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[10] * x2 + a[8]; - t[1] = a[9] * x2 + a[7]; - t[2] = b[10] * x2 + b[8]; - t[3] = b[9] * x2 + b[7]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[10]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<12>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[11] * x2 + a[9]; - t[1] = a[10] * x2 + a[8]; - t[2] = b[11] * x2 + b[9]; - t[3] = b[10] * x2 + b[8]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<13>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[12] * x2 + a[10]; - t[1] = a[11] * x2 + a[9]; - t[2] = b[12] * x2 + b[10]; - t[3] = b[11] * x2 + b[9]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[12]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<14>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[13] * x2 + a[11]; - t[1] = a[12] * x2 + a[10]; - t[2] = b[13] * x2 + b[11]; - t[3] = b[12] * x2 + b[10]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<15>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[14] * x2 + a[12]; - t[1] = a[13] * x2 + a[11]; - t[2] = b[14] * x2 + b[12]; - t[3] = b[13] * x2 + b[11]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[14]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<16>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[15] * x2 + a[13]; - t[1] = a[14] * x2 + a[12]; - t[2] = b[15] * x2 + b[13]; - t[3] = b[14] * x2 + b[12]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<17>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[16] * x2 + a[14]; - t[1] = a[15] * x2 + a[13]; - t[2] = b[16] * x2 + b[14]; - t[3] = b[15] * x2 + b[13]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[11]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[16]); - t[2] += static_cast<V>(b[16]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<18>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[17] * x2 + a[15]; - t[1] = a[16] * x2 + a[14]; - t[2] = b[17] * x2 + b[15]; - t[3] = b[16] * x2 + b[14]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[13]); - t[3] += static_cast<V>(b[12]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[16]); - t[1] += static_cast<V>(a[17]); - t[2] += static_cast<V>(b[16]); - t[3] += static_cast<V>(b[17]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<19>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[18] * x2 + a[16]; - t[1] = a[17] * x2 + a[15]; - t[2] = b[18] * x2 + b[16]; - t[3] = b[17] * x2 + b[15]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[13]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[11]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[9]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[7]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[5]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[16]); - t[1] += static_cast<V>(a[17]); - t[2] += static_cast<V>(b[16]); - t[3] += static_cast<V>(b[17]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[18]); - t[2] += static_cast<V>(b[18]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<20>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[19] * x2 + a[17]; - t[1] = a[18] * x2 + a[16]; - t[2] = b[19] * x2 + b[17]; - t[3] = b[18] * x2 + b[16]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[15]); - t[1] += static_cast<V>(a[14]); - t[2] += static_cast<V>(b[15]); - t[3] += static_cast<V>(b[14]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[13]); - t[1] += static_cast<V>(a[12]); - t[2] += static_cast<V>(b[13]); - t[3] += static_cast<V>(b[12]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[11]); - t[1] += static_cast<V>(a[10]); - t[2] += static_cast<V>(b[11]); - t[3] += static_cast<V>(b[10]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[9]); - t[1] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[9]); - t[3] += static_cast<V>(b[8]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[7]); - t[1] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[7]); - t[3] += static_cast<V>(b[6]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[5]); - t[1] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[5]); - t[3] += static_cast<V>(b[4]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[8]); - t[1] += static_cast<V>(a[9]); - t[2] += static_cast<V>(b[8]); - t[3] += static_cast<V>(b[9]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[10]); - t[1] += static_cast<V>(a[11]); - t[2] += static_cast<V>(b[10]); - t[3] += static_cast<V>(b[11]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[12]); - t[1] += static_cast<V>(a[13]); - t[2] += static_cast<V>(b[12]); - t[3] += static_cast<V>(b[13]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[14]); - t[1] += static_cast<V>(a[15]); - t[2] += static_cast<V>(b[14]); - t[3] += static_cast<V>(b[15]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[16]); - t[1] += static_cast<V>(a[17]); - t[2] += static_cast<V>(b[16]); - t[3] += static_cast<V>(b[17]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[18]); - t[1] += static_cast<V>(a[19]); - t[2] += static_cast<V>(b[18]); - t[3] += static_cast<V>(b[19]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_3.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_3.hpp deleted file mode 100644 index 9ce437b41f8..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_3.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_3_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_3_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_4.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_4.hpp deleted file mode 100644 index 00543ede853..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_4.hpp +++ /dev/null @@ -1,48 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_4_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_4_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_5.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_5.hpp deleted file mode 100644 index 35dce45a805..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_5.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_5_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_5_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_6.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_6.hpp deleted file mode 100644 index b9361ba07ab..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_6.hpp +++ /dev/null @@ -1,132 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_6_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_6_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_7.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_7.hpp deleted file mode 100644 index 92b00b3a15e..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_7.hpp +++ /dev/null @@ -1,186 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_7_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_7_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_8.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_8.hpp deleted file mode 100644 index 197b6c05500..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_8.hpp +++ /dev/null @@ -1,248 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_8_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_8_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - diff --git a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_9.hpp b/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_9.hpp deleted file mode 100644 index 5aad957c373..00000000000 --- a/src/third_party/boost-1.69.0/boost/math/tools/detail/rational_horner3_9.hpp +++ /dev/null @@ -1,318 +0,0 @@ -// (C) Copyright John Maddock 2007. -// Use, modification and distribution are subject to the -// Boost Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// This file is machine generated, do not edit by hand - -// Polynomial evaluation using second order Horners rule -#ifndef BOOST_MATH_TOOLS_RAT_EVAL_9_HPP -#define BOOST_MATH_TOOLS_RAT_EVAL_9_HPP - -namespace boost{ namespace math{ namespace tools{ namespace detail{ - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T*, const U*, const V&, const mpl::int_<0>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(0); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V&, const mpl::int_<1>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(a[0]) / static_cast<V>(b[0]); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<2>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((a[1] * x + a[0]) / (b[1] * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<3>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>(((a[2] * x + a[1]) * x + a[0]) / ((b[2] * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<4>*) BOOST_MATH_NOEXCEPT(V) -{ - return static_cast<V>((((a[3] * x + a[2]) * x + a[1]) * x + a[0]) / (((b[3] * x + b[2]) * x + b[1]) * x + b[0])); -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<5>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[4] * x2 + a[2]; - t[1] = a[3] * x2 + a[1]; - t[2] = b[4] * x2 + b[2]; - t[3] = b[3] * x2 + b[1]; - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[4]); - t[2] += static_cast<V>(b[4]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<6>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[5] * x2 + a[3]; - t[1] = a[4] * x2 + a[2]; - t[2] = b[5] * x2 + b[3]; - t[3] = b[4] * x2 + b[2]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<7>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[6] * x2 + a[4]; - t[1] = a[5] * x2 + a[3]; - t[2] = b[6] * x2 + b[4]; - t[3] = b[5] * x2 + b[3]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[6]); - t[2] += static_cast<V>(b[6]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<8>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[7] * x2 + a[5]; - t[1] = a[6] * x2 + a[4]; - t[2] = b[7] * x2 + b[5]; - t[3] = b[6] * x2 + b[4]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[3]); - t[1] += static_cast<V>(a[2]); - t[2] += static_cast<V>(b[3]); - t[3] += static_cast<V>(b[2]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[1]); - t[1] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[1]); - t[3] += static_cast<V>(b[0]); - t[0] *= x; - t[2] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z; - t[2] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - -template <class T, class U, class V> -inline V evaluate_rational_c_imp(const T* a, const U* b, const V& x, const mpl::int_<9>*) BOOST_MATH_NOEXCEPT(V) -{ - if(x <= 1) - { - V x2 = x * x; - V t[4]; - t[0] = a[8] * x2 + a[6]; - t[1] = a[7] * x2 + a[5]; - t[2] = b[8] * x2 + b[6]; - t[3] = b[7] * x2 + b[5]; - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[3]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[3]); - t[0] *= x2; - t[1] *= x2; - t[2] *= x2; - t[3] *= x2; - t[0] += static_cast<V>(a[2]); - t[1] += static_cast<V>(a[1]); - t[2] += static_cast<V>(b[2]); - t[3] += static_cast<V>(b[1]); - t[0] *= x2; - t[2] *= x2; - t[0] += static_cast<V>(a[0]); - t[2] += static_cast<V>(b[0]); - t[1] *= x; - t[3] *= x; - return (t[0] + t[1]) / (t[2] + t[3]); - } - else - { - V z = 1 / x; - V z2 = 1 / (x * x); - V t[4]; - t[0] = a[0] * z2 + a[2]; - t[1] = a[1] * z2 + a[3]; - t[2] = b[0] * z2 + b[2]; - t[3] = b[1] * z2 + b[3]; - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[4]); - t[1] += static_cast<V>(a[5]); - t[2] += static_cast<V>(b[4]); - t[3] += static_cast<V>(b[5]); - t[0] *= z2; - t[1] *= z2; - t[2] *= z2; - t[3] *= z2; - t[0] += static_cast<V>(a[6]); - t[1] += static_cast<V>(a[7]); - t[2] += static_cast<V>(b[6]); - t[3] += static_cast<V>(b[7]); - t[0] *= z2; - t[2] *= z2; - t[0] += static_cast<V>(a[8]); - t[2] += static_cast<V>(b[8]); - t[1] *= z; - t[3] *= z; - return (t[0] + t[1]) / (t[2] + t[3]); - } -} - - -}}}} // namespaces - -#endif // include guard - |