mirror of
https://github.com/boostorg/math.git
synced 2026-02-24 16:12:15 +00:00
Merge pull request #1358 from boostorg/1357
Fix duplicated GPU annotations
This commit is contained in:
@@ -178,7 +178,7 @@ BOOST_MATH_GPU_ENABLED U evaluate_polynomial(const T* poly, U const& z, boost::m
|
||||
namespace detail{
|
||||
|
||||
template <class T, class V, class Tag>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial_c_imp(const T* a, const V& val, const Tag*) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial_c_imp(const T* a, const V& val, const Tag*) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
return evaluate_polynomial(a, val, Tag::value);
|
||||
}
|
||||
@@ -207,7 +207,7 @@ BOOST_MATH_GPU_ENABLED inline U evaluate_polynomial(const T* poly, U const& z, b
|
||||
// implementations above:
|
||||
//
|
||||
template <boost::math::size_t N, class T, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial(const T(&a)[N], const V& val) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial(const T(&a)[N], const V& val) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
typedef boost::math::integral_constant<int, static_cast<int>(N)> tag_type;
|
||||
return detail::evaluate_polynomial_c_imp(static_cast<const T*>(a), val, static_cast<tag_type const*>(nullptr));
|
||||
@@ -215,7 +215,7 @@ BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial(const
|
||||
|
||||
#ifndef BOOST_MATH_HAS_NVRTC
|
||||
template <boost::math::size_t N, class T, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial(const std::array<T,N>& a, const V& val) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_polynomial(const std::array<T,N>& a, const V& val) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
typedef boost::math::integral_constant<int, static_cast<int>(N)> tag_type;
|
||||
return detail::evaluate_polynomial_c_imp(static_cast<const T*>(a.data()), val, static_cast<tag_type const*>(nullptr));
|
||||
@@ -231,14 +231,14 @@ BOOST_MATH_GPU_ENABLED inline U evaluate_even_polynomial(const T* poly, U z, boo
|
||||
}
|
||||
|
||||
template <boost::math::size_t N, class T, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_even_polynomial(const T(&a)[N], const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_even_polynomial(const T(&a)[N], const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
return evaluate_polynomial(a, V(z*z));
|
||||
}
|
||||
|
||||
#ifndef BOOST_MATH_HAS_NVRTC
|
||||
template <boost::math::size_t N, class T, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_even_polynomial(const std::array<T,N>& a, const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_even_polynomial(const std::array<T,N>& a, const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
return evaluate_polynomial(a, V(z*z));
|
||||
}
|
||||
@@ -253,7 +253,7 @@ BOOST_MATH_GPU_ENABLED inline U evaluate_odd_polynomial(const T* poly, U z, boos
|
||||
}
|
||||
|
||||
template <boost::math::size_t N, class T, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_odd_polynomial(const T(&a)[N], const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_odd_polynomial(const T(&a)[N], const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
typedef boost::math::integral_constant<int, static_cast<int>(N-1)> tag_type;
|
||||
return a[0] + z * detail::evaluate_polynomial_c_imp(static_cast<const T*>(a) + 1, V(z*z), static_cast<tag_type const*>(nullptr));
|
||||
@@ -261,7 +261,7 @@ BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_odd_polynomial(c
|
||||
|
||||
#ifndef BOOST_MATH_HAS_NVRTC
|
||||
template <boost::math::size_t N, class T, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_odd_polynomial(const std::array<T,N>& a, const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_odd_polynomial(const std::array<T,N>& a, const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
typedef boost::math::integral_constant<int, static_cast<int>(N-1)> tag_type;
|
||||
return a[0] + z * detail::evaluate_polynomial_c_imp(static_cast<const T*>(a.data()) + 1, V(z*z), static_cast<tag_type const*>(nullptr));
|
||||
@@ -274,7 +274,7 @@ BOOST_MATH_GPU_ENABLED V evaluate_rational(const T* num, const U* denom, const V
|
||||
namespace detail{
|
||||
|
||||
template <class T, class U, class V, class Tag>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_rational_c_imp(const T* num, const U* denom, const V& z, const Tag*) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_rational_c_imp(const T* num, const U* denom, const V& z, const Tag*) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
return boost::math::tools::evaluate_rational(num, denom, z, Tag::value);
|
||||
}
|
||||
@@ -322,14 +322,14 @@ BOOST_MATH_GPU_ENABLED V evaluate_rational(const T* num, const U* denom, const V
|
||||
}
|
||||
|
||||
template <boost::math::size_t N, class T, class U, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_rational(const T(&a)[N], const U(&b)[N], const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_rational(const T(&a)[N], const U(&b)[N], const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
return detail::evaluate_rational_c_imp(a, b, z, static_cast<const boost::math::integral_constant<int, static_cast<int>(N)>*>(nullptr));
|
||||
}
|
||||
|
||||
#ifndef BOOST_MATH_HAS_NVRTC
|
||||
template <boost::math::size_t N, class T, class U, class V>
|
||||
BOOST_MATH_GPU_ENABLED BOOST_MATH_GPU_ENABLED inline V evaluate_rational(const std::array<T,N>& a, const std::array<U,N>& b, const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
BOOST_MATH_GPU_ENABLED inline V evaluate_rational(const std::array<T,N>& a, const std::array<U,N>& b, const V& z) BOOST_MATH_NOEXCEPT(V)
|
||||
{
|
||||
return detail::evaluate_rational_c_imp(a.data(), b.data(), z, static_cast<boost::math::integral_constant<int, static_cast<int>(N)>*>(nullptr));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user