common/alignment: Rename AlignBits to AlignUpLog2

AlignUpLog2 describes what the function does better than AlignBits.
This commit is contained in:
ReinUsesLisp 2021-01-15 04:02:37 -03:00
parent 6676687694
commit fe494a0ccd
4 changed files with 15 additions and 16 deletions

View file

@ -17,15 +17,14 @@ template <typename T>
}
template <typename T>
[[nodiscard]] constexpr T AlignDown(T value, std::size_t size) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
return static_cast<T>(value - value % size);
requires std::is_unsigned_v<T>[[nodiscard]] constexpr T AlignUpLog2(T value, size_t align_log2) {
return static_cast<T>((value + ((1ULL << align_log2) - 1)) >> align_log2 << align_log2);
}
template <typename T>
[[nodiscard]] constexpr T AlignBits(T value, std::size_t align) {
[[nodiscard]] constexpr T AlignDown(T value, std::size_t size) {
static_assert(std::is_unsigned_v<T>, "T must be an unsigned value.");
return static_cast<T>((value + ((1ULL << align) - 1)) >> align << align);
return static_cast<T>(value - value % size);
}
template <typename T>