Boost Core模块的数学相关测试程序
Boost是一个非常流行的C++库,它提供了各种各样的工具和函数,可以帮助开发人员更好地编写C++代码。其中,Boost Core模块是该库中的一个基础模块,它包含了许多常用的函数和类。在这里,我们将展示一个Boost Core模块中的cmath相关的测试程序。
该程序使用了Boost.Test库来进行单元测试。Boost.Test是一个基于C++的测试框架,它提供了丰富的断言和测试工具,可以帮助开发人员快速、简便地编写测试代码。
下面是程序的实现:
#include <boost/test/unit_test.hpp>
#include <boost/core/math/common_factor_rt.hpp>
#include <boost/core/math/special_functions/fpclassify.hpp>
BOOST_AUTO_TEST_SUITE(boost_core_math_tests)
BOOST_AUTO_TEST_CASE(common_factor_rt_test)
{
BOOST_CHECK_EQUAL(boost::math::gcd(10, 25), 5);
BOOST_CHECK_EQUAL(boost::math::lcm(10, 25), 50);
}
BOOST_AUTO_TEST_CASE(fpclassify_test)
{
double d1 = 1.0;
double d2 = std::numeric_limits<double>::quiet_NaN();
double d3 = std