mirror of
https://github.com/XRPLF/rippled.git
synced 2026-06-04 01:06:48 +00:00
chore: Enable clang-tidy v21 new checks (#7031)
This commit is contained in:
@@ -75,20 +75,21 @@ public:
|
||||
|
||||
test(
|
||||
Number{std::numeric_limits<std::int64_t>::min()},
|
||||
scale == MantissaRange::small
|
||||
scale == MantissaRange::mantissa_scale::small
|
||||
? Number{-9'223'372'036'854'776, 3}
|
||||
: Number{true, 9'223'372'036'854'775'808ULL, 0, Number::normalized{}},
|
||||
__LINE__);
|
||||
test(
|
||||
Number{std::numeric_limits<std::int64_t>::min() + 1},
|
||||
scale == MantissaRange::small ? Number{-9'223'372'036'854'776, 3}
|
||||
: Number{-9'223'372'036'854'775'807},
|
||||
scale == MantissaRange::mantissa_scale::small ? Number{-9'223'372'036'854'776, 3}
|
||||
: Number{-9'223'372'036'854'775'807},
|
||||
__LINE__);
|
||||
test(
|
||||
Number{std::numeric_limits<std::int64_t>::max()},
|
||||
Number{
|
||||
scale == MantissaRange::small ? 9'223'372'036'854'776
|
||||
: std::numeric_limits<std::int64_t>::max(),
|
||||
scale == MantissaRange::mantissa_scale::small
|
||||
? 9'223'372'036'854'776
|
||||
: std::numeric_limits<std::int64_t>::max(),
|
||||
18 - Number::mantissaLog()},
|
||||
__LINE__);
|
||||
caught = false;
|
||||
@@ -207,7 +208,7 @@ public:
|
||||
BEAST_EXPECTS(result == z, ss.str());
|
||||
}
|
||||
};
|
||||
if (scale == MantissaRange::small)
|
||||
if (scale == MantissaRange::mantissa_scale::small)
|
||||
{
|
||||
test(cSmall);
|
||||
}
|
||||
@@ -303,7 +304,7 @@ public:
|
||||
BEAST_EXPECTS(result == z, ss.str());
|
||||
}
|
||||
};
|
||||
if (scale == MantissaRange::small)
|
||||
if (scale == MantissaRange::mantissa_scale::small)
|
||||
{
|
||||
test(cSmall);
|
||||
}
|
||||
@@ -330,7 +331,7 @@ public:
|
||||
}
|
||||
};
|
||||
auto tests = [&](auto const& cSmall, auto const& cLarge) {
|
||||
if (scale == MantissaRange::small)
|
||||
if (scale == MantissaRange::mantissa_scale::small)
|
||||
{
|
||||
test(cSmall);
|
||||
}
|
||||
@@ -341,7 +342,7 @@ public:
|
||||
};
|
||||
auto const maxMantissa = Number::maxMantissa();
|
||||
|
||||
saveNumberRoundMode const save{Number::setround(Number::to_nearest)};
|
||||
saveNumberRoundMode const save{Number::setround(Number::rounding_mode::to_nearest)};
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>({
|
||||
{Number{7}, Number{8}, Number{56}},
|
||||
@@ -407,7 +408,7 @@ public:
|
||||
});
|
||||
tests(cSmall, cLarge);
|
||||
}
|
||||
Number::setround(Number::towards_zero);
|
||||
Number::setround(Number::rounding_mode::towards_zero);
|
||||
testcase << "test_mul " << to_string(Number::getMantissaScale()) << " towards_zero";
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
@@ -474,7 +475,7 @@ public:
|
||||
});
|
||||
tests(cSmall, cLarge);
|
||||
}
|
||||
Number::setround(Number::downward);
|
||||
Number::setround(Number::rounding_mode::downward);
|
||||
testcase << "test_mul " << to_string(Number::getMantissaScale()) << " downward";
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
@@ -541,7 +542,7 @@ public:
|
||||
});
|
||||
tests(cSmall, cLarge);
|
||||
}
|
||||
Number::setround(Number::upward);
|
||||
Number::setround(Number::rounding_mode::upward);
|
||||
testcase << "test_mul " << to_string(Number::getMantissaScale()) << " upward";
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
@@ -642,7 +643,7 @@ public:
|
||||
};
|
||||
auto const maxMantissa = Number::maxMantissa();
|
||||
auto tests = [&](auto const& cSmall, auto const& cLarge) {
|
||||
if (scale == MantissaRange::small)
|
||||
if (scale == MantissaRange::mantissa_scale::small)
|
||||
{
|
||||
test(cSmall);
|
||||
}
|
||||
@@ -651,7 +652,7 @@ public:
|
||||
test(cLarge);
|
||||
}
|
||||
};
|
||||
saveNumberRoundMode const save{Number::setround(Number::to_nearest)};
|
||||
saveNumberRoundMode const save{Number::setround(Number::rounding_mode::to_nearest)};
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
{{Number{1}, Number{2}, Number{5, -1}},
|
||||
@@ -689,7 +690,7 @@ public:
|
||||
tests(cSmall, cLarge);
|
||||
}
|
||||
testcase << "test_div " << to_string(Number::getMantissaScale()) << " towards_zero";
|
||||
Number::setround(Number::towards_zero);
|
||||
Number::setround(Number::rounding_mode::towards_zero);
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
{{Number{1}, Number{2}, Number{5, -1}},
|
||||
@@ -727,7 +728,7 @@ public:
|
||||
tests(cSmall, cLarge);
|
||||
}
|
||||
testcase << "test_div " << to_string(Number::getMantissaScale()) << " downward";
|
||||
Number::setround(Number::downward);
|
||||
Number::setround(Number::rounding_mode::downward);
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
{{Number{1}, Number{2}, Number{5, -1}},
|
||||
@@ -765,7 +766,7 @@ public:
|
||||
tests(cSmall, cLarge);
|
||||
}
|
||||
testcase << "test_div " << to_string(Number::getMantissaScale()) << " upward";
|
||||
Number::setround(Number::upward);
|
||||
Number::setround(Number::rounding_mode::upward);
|
||||
{
|
||||
auto const cSmall = std::to_array<Case>(
|
||||
{{Number{1}, Number{2}, Number{5, -1}},
|
||||
@@ -834,7 +835,7 @@ public:
|
||||
/*
|
||||
auto tests = [&](auto const& cSmall, auto const& cLarge) {
|
||||
test(cSmall);
|
||||
if (scale != MantissaRange::small)
|
||||
if (scale != MantissaRange::mantissa_scale::small)
|
||||
test(cLarge);
|
||||
};
|
||||
*/
|
||||
@@ -864,9 +865,9 @@ public:
|
||||
Number{false, 55'108'98747006743627, -14, Number::normalized{}}},
|
||||
});
|
||||
test(cSmall);
|
||||
if (Number::getMantissaScale() != MantissaRange::small)
|
||||
if (Number::getMantissaScale() != MantissaRange::mantissa_scale::small)
|
||||
{
|
||||
NumberRoundModeGuard const mg(Number::towards_zero);
|
||||
NumberRoundModeGuard const mg(Number::rounding_mode::towards_zero);
|
||||
test(cLarge);
|
||||
}
|
||||
bool caught = false;
|
||||
@@ -1027,7 +1028,7 @@ public:
|
||||
{
|
||||
testcase << "test_to_integer " << to_string(Number::getMantissaScale());
|
||||
using Case = std::tuple<Number, std::int64_t>;
|
||||
saveNumberRoundMode const save{Number::setround(Number::to_nearest)};
|
||||
saveNumberRoundMode const save{Number::setround(Number::rounding_mode::to_nearest)};
|
||||
{
|
||||
Case const c[]{
|
||||
{Number{0}, 0},
|
||||
@@ -1064,8 +1065,8 @@ public:
|
||||
BEAST_EXPECT(j == y);
|
||||
}
|
||||
}
|
||||
auto prev_mode = Number::setround(Number::towards_zero);
|
||||
BEAST_EXPECT(prev_mode == Number::to_nearest);
|
||||
auto prev_mode = Number::setround(Number::rounding_mode::towards_zero);
|
||||
BEAST_EXPECT(prev_mode == Number::rounding_mode::to_nearest);
|
||||
{
|
||||
Case const c[]{
|
||||
{Number{0}, 0},
|
||||
@@ -1102,8 +1103,8 @@ public:
|
||||
BEAST_EXPECT(j == y);
|
||||
}
|
||||
}
|
||||
prev_mode = Number::setround(Number::downward);
|
||||
BEAST_EXPECT(prev_mode == Number::towards_zero);
|
||||
prev_mode = Number::setround(Number::rounding_mode::downward);
|
||||
BEAST_EXPECT(prev_mode == Number::rounding_mode::towards_zero);
|
||||
{
|
||||
Case const c[]{
|
||||
{Number{0}, 0},
|
||||
@@ -1140,8 +1141,8 @@ public:
|
||||
BEAST_EXPECT(j == y);
|
||||
}
|
||||
}
|
||||
prev_mode = Number::setround(Number::upward);
|
||||
BEAST_EXPECT(prev_mode == Number::downward);
|
||||
prev_mode = Number::setround(Number::rounding_mode::upward);
|
||||
BEAST_EXPECT(prev_mode == Number::rounding_mode::downward);
|
||||
{
|
||||
Case const c[]{
|
||||
{Number{0}, 0},
|
||||
@@ -1236,13 +1237,13 @@ public:
|
||||
|
||||
switch (scale)
|
||||
{
|
||||
case MantissaRange::small:
|
||||
case MantissaRange::mantissa_scale::small:
|
||||
|
||||
test(Number::min(), "1e-32753");
|
||||
test(Number::max(), "9999999999999999e32768");
|
||||
test(Number::lowest(), "-9999999999999999e32768");
|
||||
{
|
||||
NumberRoundModeGuard const mg(Number::towards_zero);
|
||||
NumberRoundModeGuard const mg(Number::rounding_mode::towards_zero);
|
||||
|
||||
auto const maxMantissa = Number::maxMantissa();
|
||||
BEAST_EXPECT(maxMantissa == 9'999'999'999'999'999);
|
||||
@@ -1265,14 +1266,14 @@ public:
|
||||
"9223372036854775e3");
|
||||
}
|
||||
break;
|
||||
case MantissaRange::large:
|
||||
case MantissaRange::mantissa_scale::large:
|
||||
// Test the edges
|
||||
// ((exponent < -(28)) || (exponent > -(8)))))
|
||||
test(Number::min(), "1e-32750");
|
||||
test(Number::max(), "9223372036854775807e32768");
|
||||
test(Number::lowest(), "-9223372036854775807e32768");
|
||||
{
|
||||
NumberRoundModeGuard const mg(Number::towards_zero);
|
||||
NumberRoundModeGuard const mg(Number::rounding_mode::towards_zero);
|
||||
|
||||
auto const maxMantissa = Number::maxMantissa();
|
||||
BEAST_EXPECT(maxMantissa == 9'999'999'999'999'999'999ULL);
|
||||
@@ -1348,19 +1349,19 @@ public:
|
||||
NumberSO const stNumberSO{true};
|
||||
Issue const issue;
|
||||
Number const n{7'518'783'80596, -5};
|
||||
saveNumberRoundMode const save{Number::setround(Number::to_nearest)};
|
||||
saveNumberRoundMode const save{Number::setround(Number::rounding_mode::to_nearest)};
|
||||
auto res2 = STAmount{issue, n};
|
||||
BEAST_EXPECT(res2 == STAmount{7518784});
|
||||
|
||||
Number::setround(Number::towards_zero);
|
||||
Number::setround(Number::rounding_mode::towards_zero);
|
||||
res2 = STAmount{issue, n};
|
||||
BEAST_EXPECT(res2 == STAmount{7518783});
|
||||
|
||||
Number::setround(Number::downward);
|
||||
Number::setround(Number::rounding_mode::downward);
|
||||
res2 = STAmount{issue, n};
|
||||
BEAST_EXPECT(res2 == STAmount{7518783});
|
||||
|
||||
Number::setround(Number::upward);
|
||||
Number::setround(Number::rounding_mode::upward);
|
||||
res2 = STAmount{issue, n};
|
||||
BEAST_EXPECT(res2 == STAmount{7518784});
|
||||
}
|
||||
@@ -1400,87 +1401,87 @@ public:
|
||||
std::map<Number, NumberRoundings> const expected{
|
||||
// Positive numbers
|
||||
{Number{13, -1},
|
||||
{{Number::to_nearest, 1},
|
||||
{Number::towards_zero, 1},
|
||||
{Number::downward, 1},
|
||||
{Number::upward, 2}}},
|
||||
{{Number::rounding_mode::to_nearest, 1},
|
||||
{Number::rounding_mode::towards_zero, 1},
|
||||
{Number::rounding_mode::downward, 1},
|
||||
{Number::rounding_mode::upward, 2}}},
|
||||
{Number{23, -1},
|
||||
{{Number::to_nearest, 2},
|
||||
{Number::towards_zero, 2},
|
||||
{Number::downward, 2},
|
||||
{Number::upward, 3}}},
|
||||
{{Number::rounding_mode::to_nearest, 2},
|
||||
{Number::rounding_mode::towards_zero, 2},
|
||||
{Number::rounding_mode::downward, 2},
|
||||
{Number::rounding_mode::upward, 3}}},
|
||||
{Number{15, -1},
|
||||
{{Number::to_nearest, 2},
|
||||
{Number::towards_zero, 1},
|
||||
{Number::downward, 1},
|
||||
{Number::upward, 2}}},
|
||||
{{Number::rounding_mode::to_nearest, 2},
|
||||
{Number::rounding_mode::towards_zero, 1},
|
||||
{Number::rounding_mode::downward, 1},
|
||||
{Number::rounding_mode::upward, 2}}},
|
||||
{Number{25, -1},
|
||||
{{Number::to_nearest, 2},
|
||||
{Number::towards_zero, 2},
|
||||
{Number::downward, 2},
|
||||
{Number::upward, 3}}},
|
||||
{{Number::rounding_mode::to_nearest, 2},
|
||||
{Number::rounding_mode::towards_zero, 2},
|
||||
{Number::rounding_mode::downward, 2},
|
||||
{Number::rounding_mode::upward, 3}}},
|
||||
{Number{152, -2},
|
||||
{{Number::to_nearest, 2},
|
||||
{Number::towards_zero, 1},
|
||||
{Number::downward, 1},
|
||||
{Number::upward, 2}}},
|
||||
{{Number::rounding_mode::to_nearest, 2},
|
||||
{Number::rounding_mode::towards_zero, 1},
|
||||
{Number::rounding_mode::downward, 1},
|
||||
{Number::rounding_mode::upward, 2}}},
|
||||
{Number{252, -2},
|
||||
{{Number::to_nearest, 3},
|
||||
{Number::towards_zero, 2},
|
||||
{Number::downward, 2},
|
||||
{Number::upward, 3}}},
|
||||
{{Number::rounding_mode::to_nearest, 3},
|
||||
{Number::rounding_mode::towards_zero, 2},
|
||||
{Number::rounding_mode::downward, 2},
|
||||
{Number::rounding_mode::upward, 3}}},
|
||||
{Number{17, -1},
|
||||
{{Number::to_nearest, 2},
|
||||
{Number::towards_zero, 1},
|
||||
{Number::downward, 1},
|
||||
{Number::upward, 2}}},
|
||||
{{Number::rounding_mode::to_nearest, 2},
|
||||
{Number::rounding_mode::towards_zero, 1},
|
||||
{Number::rounding_mode::downward, 1},
|
||||
{Number::rounding_mode::upward, 2}}},
|
||||
{Number{27, -1},
|
||||
{{Number::to_nearest, 3},
|
||||
{Number::towards_zero, 2},
|
||||
{Number::downward, 2},
|
||||
{Number::upward, 3}}},
|
||||
{{Number::rounding_mode::to_nearest, 3},
|
||||
{Number::rounding_mode::towards_zero, 2},
|
||||
{Number::rounding_mode::downward, 2},
|
||||
{Number::rounding_mode::upward, 3}}},
|
||||
|
||||
// Negative numbers
|
||||
{Number{-13, -1},
|
||||
{{Number::to_nearest, -1},
|
||||
{Number::towards_zero, -1},
|
||||
{Number::downward, -2},
|
||||
{Number::upward, -1}}},
|
||||
{{Number::rounding_mode::to_nearest, -1},
|
||||
{Number::rounding_mode::towards_zero, -1},
|
||||
{Number::rounding_mode::downward, -2},
|
||||
{Number::rounding_mode::upward, -1}}},
|
||||
{Number{-23, -1},
|
||||
{{Number::to_nearest, -2},
|
||||
{Number::towards_zero, -2},
|
||||
{Number::downward, -3},
|
||||
{Number::upward, -2}}},
|
||||
{{Number::rounding_mode::to_nearest, -2},
|
||||
{Number::rounding_mode::towards_zero, -2},
|
||||
{Number::rounding_mode::downward, -3},
|
||||
{Number::rounding_mode::upward, -2}}},
|
||||
{Number{-15, -1},
|
||||
{{Number::to_nearest, -2},
|
||||
{Number::towards_zero, -1},
|
||||
{Number::downward, -2},
|
||||
{Number::upward, -1}}},
|
||||
{{Number::rounding_mode::to_nearest, -2},
|
||||
{Number::rounding_mode::towards_zero, -1},
|
||||
{Number::rounding_mode::downward, -2},
|
||||
{Number::rounding_mode::upward, -1}}},
|
||||
{Number{-25, -1},
|
||||
{{Number::to_nearest, -2},
|
||||
{Number::towards_zero, -2},
|
||||
{Number::downward, -3},
|
||||
{Number::upward, -2}}},
|
||||
{{Number::rounding_mode::to_nearest, -2},
|
||||
{Number::rounding_mode::towards_zero, -2},
|
||||
{Number::rounding_mode::downward, -3},
|
||||
{Number::rounding_mode::upward, -2}}},
|
||||
{Number{-152, -2},
|
||||
{{Number::to_nearest, -2},
|
||||
{Number::towards_zero, -1},
|
||||
{Number::downward, -2},
|
||||
{Number::upward, -1}}},
|
||||
{{Number::rounding_mode::to_nearest, -2},
|
||||
{Number::rounding_mode::towards_zero, -1},
|
||||
{Number::rounding_mode::downward, -2},
|
||||
{Number::rounding_mode::upward, -1}}},
|
||||
{Number{-252, -2},
|
||||
{{Number::to_nearest, -3},
|
||||
{Number::towards_zero, -2},
|
||||
{Number::downward, -3},
|
||||
{Number::upward, -2}}},
|
||||
{{Number::rounding_mode::to_nearest, -3},
|
||||
{Number::rounding_mode::towards_zero, -2},
|
||||
{Number::rounding_mode::downward, -3},
|
||||
{Number::rounding_mode::upward, -2}}},
|
||||
{Number{-17, -1},
|
||||
{{Number::to_nearest, -2},
|
||||
{Number::towards_zero, -1},
|
||||
{Number::downward, -2},
|
||||
{Number::upward, -1}}},
|
||||
{{Number::rounding_mode::to_nearest, -2},
|
||||
{Number::rounding_mode::towards_zero, -1},
|
||||
{Number::rounding_mode::downward, -2},
|
||||
{Number::rounding_mode::upward, -1}}},
|
||||
{Number{-27, -1},
|
||||
{{Number::to_nearest, -3},
|
||||
{Number::towards_zero, -2},
|
||||
{Number::downward, -3},
|
||||
{Number::upward, -2}}},
|
||||
{{Number::rounding_mode::to_nearest, -3},
|
||||
{Number::rounding_mode::towards_zero, -2},
|
||||
{Number::rounding_mode::downward, -3},
|
||||
{Number::rounding_mode::upward, -2}}},
|
||||
};
|
||||
|
||||
for (auto const& [num, roundings] : expected)
|
||||
@@ -1491,8 +1492,8 @@ public:
|
||||
auto const res = static_cast<std::int64_t>(num);
|
||||
BEAST_EXPECTS(
|
||||
res == val,
|
||||
to_string(num) + " with mode " + std::to_string(mode) + " expected " +
|
||||
std::to_string(val) + " got " + std::to_string(res));
|
||||
to_string(num) + " with mode " + std::to_string(static_cast<int>(mode)) +
|
||||
" expected " + std::to_string(val) + " got " + std::to_string(res));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1508,7 +1509,7 @@ public:
|
||||
Number const ten{10};
|
||||
BEAST_EXPECT(ten.exponent() <= 0);
|
||||
|
||||
if (scale == MantissaRange::small)
|
||||
if (scale == MantissaRange::mantissa_scale::small)
|
||||
{
|
||||
BEAST_EXPECT(std::numeric_limits<std::int64_t>::max() > INITIAL_XRP.drops());
|
||||
BEAST_EXPECT(Number::maxMantissa() < INITIAL_XRP.drops());
|
||||
@@ -1537,7 +1538,7 @@ public:
|
||||
// 85'070'591'730'234'615'847'396'907'784'232'501'249 - 38 digits
|
||||
BEAST_EXPECT((power(maxInt64, 2) == Number{85'070'591'730'234'615'85, 19}));
|
||||
|
||||
NumberRoundModeGuard const mg(Number::towards_zero);
|
||||
NumberRoundModeGuard const mg(Number::rounding_mode::towards_zero);
|
||||
|
||||
auto const maxMantissa = Number::maxMantissa();
|
||||
Number const max = Number{false, maxMantissa, 0, Number::normalized{}};
|
||||
@@ -1553,7 +1554,8 @@ public:
|
||||
void
|
||||
run() override
|
||||
{
|
||||
for (auto const scale : {MantissaRange::small, MantissaRange::large})
|
||||
for (auto const scale :
|
||||
{MantissaRange::mantissa_scale::small, MantissaRange::mantissa_scale::large})
|
||||
{
|
||||
NumberMantissaScaleGuard const sg(scale);
|
||||
testZero();
|
||||
|
||||
Reference in New Issue
Block a user