diff options
Diffstat (limited to 'boost/math/concepts/std_real_concept.hpp')
-rw-r--r-- | boost/math/concepts/std_real_concept.hpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/boost/math/concepts/std_real_concept.hpp b/boost/math/concepts/std_real_concept.hpp index d855d2d55f..b116282888 100644 --- a/boost/math/concepts/std_real_concept.hpp +++ b/boost/math/concepts/std_real_concept.hpp @@ -226,6 +226,8 @@ inline boost::math::concepts::std_real_concept sqrt(boost::math::concepts::std_r { return std::sqrt(a.value()); } inline boost::math::concepts::std_real_concept tanh(boost::math::concepts::std_real_concept a) { return std::tanh(a.value()); } +inline boost::math::concepts::std_real_concept (nextafter)(boost::math::concepts::std_real_concept a, boost::math::concepts::std_real_concept b) +{ return (boost::math::nextafter)(a, b); } // // C++11 ism's // Note that these must not actually call the std:: versions as that precludes using this @@ -237,6 +239,10 @@ inline boost::math::concepts::std_real_concept acosh(boost::math::concepts::std_ { return boost::math::acosh(a.value(), boost::math::policies::make_policy(boost::math::policies::overflow_error<boost::math::policies::ignore_error>())); } inline boost::math::concepts::std_real_concept atanh(boost::math::concepts::std_real_concept a) { return boost::math::atanh(a.value(), boost::math::policies::make_policy(boost::math::policies::overflow_error<boost::math::policies::ignore_error>())); } +inline bool (isfinite)(boost::math::concepts::std_real_concept a) +{ + return (boost::math::isfinite)(a.value()); +} } // namespace std @@ -396,6 +402,13 @@ inline BOOST_MATH_CONSTEXPR int digits<concepts::std_real_concept>(BOOST_MATH_EX return digits<concepts::std_real_concept_base_type>(); } +template <> +inline double real_cast<double, concepts::std_real_concept>(concepts::std_real_concept r) +{ + return static_cast<double>(r.value()); +} + + } // namespace tools #if BOOST_WORKAROUND(BOOST_MSVC, <= 1310) |