【发布时间】:2013-04-12 12:32:10
【问题描述】:
大家好,我是 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 );
}
}
}
我只需要知道代码中发生了什么,
限制为short_min 的类模板fpml::fixed_point<short, 8> 分配给double function a,限制为short_max 的同一类模板fpml::fixed_point<short, 8> 分配给double function b?
for loop 中发生了什么,它是从 short 的最小值循环到 short 的最大值吗?
有人可以解释一下 for lopp 中发生了什么以及添加是如何完成和检查的
【问题讨论】:
-
@ForEveRTo double a 和 doube b 是否分配了一些值?还是只分配限制?请单独解释一下,我理解for循环部分