23 lines
569 B
C
23 lines
569 B
C
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
// Copyright (c) 2026 0xKSor
|
|
|
|
#pragma once
|
|
|
|
#include <Types.h>
|
|
|
|
static inline UInt64 AlignUp64(UInt64 value, UInt64 alignment) {
|
|
return (value + alignment - 1) & ~(alignment - 1);
|
|
}
|
|
|
|
static inline UInt64 AlignDown64(UInt64 value, UInt64 alignment) {
|
|
return value & ~(alignment - 1);
|
|
}
|
|
|
|
static inline UInt32 AlignUp32(UInt32 value, UInt32 alignment) {
|
|
return (value + alignment - 1) & ~(alignment - 1);
|
|
}
|
|
|
|
static inline UInt32 AlignDown32(UInt32 value, UInt32 alignment) {
|
|
return value & ~(alignment - 1);
|
|
}
|