Rename align_base to alignment
This commit is contained in:
parent
2e2656a02f
commit
860f13cd7e
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user