Rename align_base to alignment

This commit is contained in:
apio 2022-11-18 18:02:38 +01:00
parent 2e2656a02f
commit 860f13cd7e

View File

@ -1,27 +1,27 @@
#pragma once
template <typename T> constexpr T is_aligned(T value, T align_base)
template <typename T> constexpr T is_aligned(T value, T alignment)
{
return (value % align_base == 0);
return (value % alignment == 0);
}
static_assert(is_aligned(1024, 512));
static_assert(!is_aligned(235, 32));
static_assert(is_aligned(40960, 4096));
template <typename T> constexpr T align_down(T value, T align_base)
template <typename T> constexpr T align_down(T value, T alignment)
{
return value - (value % align_base);
return value - (value % alignment);
}
static_assert(align_down(598, 512) == 512);
static_assert(align_down(194, 64) == 192);
static_assert(align_down(62, 31) == 62);
template <typename T> constexpr T align_up(T value, T align_base)
template <typename T> constexpr T align_up(T value, T alignment)
{
if (is_aligned(value, align_base)) return value;
return align_down(value, align_base) + align_base;
if (is_aligned(value, alignment)) return value;
return align_down(value, alignment) + alignment;
}
static_assert(align_up(598, 512) == 1024);