diff options
Diffstat (limited to 'src/common/alignment.h')
| -rw-r--r-- | src/common/alignment.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/common/alignment.h b/src/common/alignment.h index 225770fab..d94a2291f 100644 --- a/src/common/alignment.h +++ b/src/common/alignment.h | |||
| @@ -19,4 +19,16 @@ constexpr T AlignDown(T value, std::size_t size) { | |||
| 19 | return static_cast<T>(value - value % size); | 19 | return static_cast<T>(value - value % size); |
| 20 | } | 20 | } |
| 21 | 21 | ||
| 22 | template <typename T> | ||
| 23 | constexpr bool Is4KBAligned(T value) { | ||
| 24 | static_assert(std::is_unsigned_v<T>, "T must be an unsigned value."); | ||
| 25 | return (value & 0xFFF) == 0; | ||
| 26 | } | ||
| 27 | |||
| 28 | template <typename T> | ||
| 29 | constexpr bool IsWordAligned(T value) { | ||
| 30 | static_assert(std::is_unsigned_v<T>, "T must be an unsigned value."); | ||
| 31 | return (value & 0b11) == 0; | ||
| 32 | } | ||
| 33 | |||
| 22 | } // namespace Common | 34 | } // namespace Common |