大家好,我是 C++ 新手,在这里我需要为我的头文件的定点添加做一个 boost 测试。它由以下代码完成。
BOOST_AUTO_TEST_CASE( add )
{
double a=(std::numeric_limits<fpml::fixed_point<short, 8> >::min)();
double b=(std::numeric_limits<fpml::fixed_point<short, 8> >::max)();
for (double x=a; x<b; ++x)
{
for (double y=a; y<b; ++y)
{
fpml::fixed_point<int, 16> xx = x;
fpml::fixed_point<int, 16> yy = y;
BOOST_CHECK( (fpml::fixed_point<int, 16>)(x+y) == xx+yy );
}
}
}
我只需要知道代码中发生了什么,一个fpml::fixed_point<short, 8>
具有限制的类模板short_min
被分配给并且具有限制double function a
的相同类模板被分配给?fpml::fixed_point<short, 8>
short_max
double function b
for loop
它从short的最小值循环到short的最大值是怎么回事?
有人可以解释一下 for lopp 中发生了什么以及如何完成和检查加法吗