Remove is_constant_evaluated() check
Signed-off-by: Vladislav Shchapov <vladislav@shchapov.ru>
This commit is contained in:
parent
19b17618a9
commit
5e988f8dfa
@ -3322,19 +3322,16 @@ template <typename Float> FMT_CONSTEXPR auto iceil(Float value) -> int {
|
|||||||
auto max = (std::numeric_limits<int>::max)();
|
auto max = (std::numeric_limits<int>::max)();
|
||||||
ignore_unused(min, max);
|
ignore_unused(min, max);
|
||||||
FMT_ASSERT(value >= min && value <= max, "value not in int range");
|
FMT_ASSERT(value >= min && value <= max, "value not in int range");
|
||||||
if (is_constant_evaluated()) {
|
do {
|
||||||
do {
|
auto mid = min + static_cast<int>((static_cast<unsigned>(max) -
|
||||||
auto mid = min + static_cast<int>((static_cast<unsigned>(max) -
|
static_cast<unsigned>(min)) /
|
||||||
static_cast<unsigned>(min)) /
|
2);
|
||||||
2);
|
if (mid < value)
|
||||||
if (mid < value)
|
min = mid;
|
||||||
min = mid;
|
else
|
||||||
else
|
max = mid;
|
||||||
max = mid;
|
} while (min + 1 != max);
|
||||||
} while (min + 1 != max);
|
return max;
|
||||||
return max;
|
|
||||||
}
|
|
||||||
return static_cast<int>(std::ceil(value));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename Float>
|
template <typename Float>
|
||||||
|
@ -524,22 +524,6 @@ TEST(format_impl_test, to_utf8) {
|
|||||||
EXPECT_EQ(s.size(), u.size());
|
EXPECT_EQ(s.size(), u.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
FMT_CONSTEXPR20 bool constexpr_iceil() {
|
|
||||||
for (double v : std::initializer_list<double>{
|
|
||||||
((std::numeric_limits<int>::min)() + 0.5),
|
|
||||||
-1.2,
|
|
||||||
-0.2,
|
|
||||||
0.0,
|
|
||||||
0.2,
|
|
||||||
1.2,
|
|
||||||
4.0,
|
|
||||||
((std::numeric_limits<int>::max)() - 0.5),
|
|
||||||
}) {
|
|
||||||
auto r = fmt::detail::iceil(v);
|
|
||||||
fmt::detail::ignore_unused(r);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
TEST(format_impl_test, iceil) {
|
TEST(format_impl_test, iceil) {
|
||||||
for (double v : std::initializer_list<double>{
|
for (double v : std::initializer_list<double>{
|
||||||
((std::numeric_limits<int>::min)() + 0.5),
|
((std::numeric_limits<int>::min)() + 0.5),
|
||||||
@ -553,7 +537,4 @@ TEST(format_impl_test, iceil) {
|
|||||||
}) {
|
}) {
|
||||||
EXPECT_EQ(fmt::detail::iceil(v), static_cast<int>(std::ceil(v)));
|
EXPECT_EQ(fmt::detail::iceil(v), static_cast<int>(std::ceil(v)));
|
||||||
}
|
}
|
||||||
|
|
||||||
FMT_CONSTEXPR20 auto result = constexpr_iceil();
|
|
||||||
EXPECT_TRUE(result);
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user