mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-22 17:31:58 -05:00
AK: Extend round_to_power_of_two to types other than unsigned
The previous implementation hardcoded unsigned, when the same logic easily extends to unsigned long, signed types, and other Integral types.
This commit is contained in:
parent
8f22af087e
commit
eae14f4ba6
1 changed files with 2 additions and 1 deletions
|
@ -10,7 +10,8 @@
|
|||
|
||||
#include <AK/Assertions.h>
|
||||
|
||||
constexpr unsigned round_up_to_power_of_two(unsigned value, unsigned power_of_two)
|
||||
template<typename T, typename U>
|
||||
constexpr auto round_up_to_power_of_two(T value, U power_of_two) requires(IsIntegral<T>&& IsIntegral<U>)
|
||||
{
|
||||
return ((value - 1) & ~(power_of_two - 1)) + power_of_two;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue