diff --git a/src/common/alignment.h b/src/common/alignment.h index 225770fab..92dec59c1 100644 --- a/src/common/alignment.h +++ b/src/common/alignment.h @@ -10,7 +10,9 @@ namespace Common { template constexpr T AlignUp(T value, std::size_t size) { static_assert(std::is_unsigned_v, "T must be an unsigned value."); - return static_cast(value + (size - value % size) % size); + auto mod{value % size}; + value -= mod; + return static_cast(mod == T{0} ? value : value + size); } template