2
0
mirror of https://github.com/boostorg/math.git synced 2026-02-22 03:22:28 +00:00

[incomplete gamma] Fix corner cases identified by Rocco Romeo.

This commit is contained in:
jzmaddock
2014-12-20 19:18:25 +00:00
parent 0c1a603e17
commit 5af7e8fdb8
2 changed files with 30 additions and 2 deletions

View File

@@ -215,6 +215,11 @@ void test_spots(T)
{
BOOST_CHECK_EQUAL(::boost::math::tgamma(static_cast<T>(176), static_cast<T>(100)), std::numeric_limits<T>::infinity());
//BOOST_CHECK_THROW(::boost::math::tgamma(static_cast<T>(176), static_cast<T>(100), throw_policy()), std::overflow_error);
BOOST_CHECK_EQUAL(::boost::math::tgamma(static_cast<T>(530), static_cast<T>(2000)), std::numeric_limits<T>::infinity());
BOOST_CHECK_EQUAL(::boost::math::tgamma(static_cast<T>(740), static_cast<T>(2500)), std::numeric_limits<T>::infinity());
BOOST_CHECK_EQUAL(::boost::math::tgamma(static_cast<T>(530.5), static_cast<T>(2000)), std::numeric_limits<T>::infinity());
BOOST_CHECK_EQUAL(::boost::math::tgamma(static_cast<T>(740.5), static_cast<T>(2500)), std::numeric_limits<T>::infinity());
BOOST_CHECK_EQUAL(::boost::math::tgamma_lower(static_cast<T>(10000.0f), static_cast<T>(10000.0f / 4)), std::numeric_limits<T>::infinity());
}
if(std::numeric_limits<T>::max_exponent >= 1024)
{