2
0
mirror of https://github.com/boostorg/math.git synced 2026-01-29 19:52:08 +00:00

Check for infinity before using it.

[SVN r32254]
This commit is contained in:
John Maddock
2006-01-07 11:28:37 +00:00
parent a754671b05
commit da670c577a

View File

@@ -559,10 +559,13 @@ void test(T)
static const T m_one = -1;
BOOST_CHECK_EQUAL(boost::math::log1p(zero), zero);
BOOST_CHECK_EQUAL(boost::math::log1p(-zero), zero);
BOOST_CHECK_EQUAL(boost::math::log1p(m_one), -std::numeric_limits<T>::infinity());
BOOST_CHECK_EQUAL(boost::math::expm1(zero), zero);
BOOST_CHECK_EQUAL(boost::math::expm1(-std::numeric_limits<T>::infinity()), m_one);
BOOST_CHECK_EQUAL(boost::math::expm1(std::numeric_limits<T>::infinity()), std::numeric_limits<T>::infinity());
if(std::numeric_limits<T>::has_infinity)
{
BOOST_CHECK_EQUAL(boost::math::log1p(m_one), -std::numeric_limits<T>::infinity());
BOOST_CHECK_EQUAL(boost::math::expm1(-std::numeric_limits<T>::infinity()), m_one);
BOOST_CHECK_EQUAL(boost::math::expm1(std::numeric_limits<T>::infinity()), std::numeric_limits<T>::infinity());
}
}