こんにちは、C++ の初心者です。ここでは、ヘッダー ファイルの固定小数点追加のブースト テストを行う必要があります。それは次のコードによって行われます。
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
ショートの最小値からショートの最大値までループしているのですが、何が起こっていますか?
誰かが for lopp で何が起こっているのか、また加算がどのように行われ、チェックされるのかを説明してもらえますか