mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-15 22:09:19 -07:00
f4e34703c0
Public domain does not have an internationally agreed upon definition, As such it's generally preferred to use an extremely liberal license, which can explicitly list the rights granted by the copyright holder. The CC0 license is the usual choice here. This "relicensing" is done without hunting down copyright holders, since it is presumed that their release of this work into the public domain authorizes us to redistribute this code under any other license of our choosing.
25 lines
530 B
C++
25 lines
530 B
C++
// SPDX-License-Identifier: CC0-1.0
|
|
|
|
#pragma once
|
|
|
|
#include <cstddef>
|
|
#include <type_traits>
|
|
|
|
namespace Common
|
|
{
|
|
template <typename T>
|
|
constexpr T AlignUp(T value, size_t size)
|
|
{
|
|
static_assert(std::is_unsigned<T>(), "T must be an unsigned value.");
|
|
return static_cast<T>(value + (size - value % size) % size);
|
|
}
|
|
|
|
template <typename T>
|
|
constexpr T AlignDown(T value, size_t size)
|
|
{
|
|
static_assert(std::is_unsigned<T>(), "T must be an unsigned value.");
|
|
return static_cast<T>(value - value % size);
|
|
}
|
|
|
|
} // namespace Common
|