diff --git a/test/test_igamma.hpp b/test/test_igamma.hpp index 3459f71d9..1d3be9fd4 100644 --- a/test/test_igamma.hpp +++ b/test/test_igamma.hpp @@ -255,6 +255,13 @@ void test_spots(T) // BOOST_CHECK_EQUAL(::boost::math::gamma_q(static_cast(1770), static_cast(1e-12)), 1); BOOST_CHECK_EQUAL(::boost::math::gamma_p(static_cast(1770), static_cast(1e-12)), 0); + + // + // Check that lgamma_q returns correct values + // + BOOST_CHECK_CLOSE(::boost::math::lgamma_q(static_cast(5), static_cast(100)), static_cast(log(1.6139305336977304790405739225035685228527400976549e-37L)), tolerance); + BOOST_CHECK_CLOSE(::boost::math::lgamma_q(static_cast(22.5), static_cast(2000)), static_cast(-1883.4897732037716195918619632721L), tolerance * 10); // calculated via mpmath + BOOST_CHECK_CLOSE(::boost::math::lgamma_q(static_cast(501.2), static_cast(2000)), static_cast(-810.31461624182202285737730562687L), tolerance * 10); // calculated via mpmath // // Coverage: //