| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include <nn/util/detail/util_TypeTraits.h> |
| 4 | |
| 5 | namespace nn::util { |
| 6 | |
| 7 | template <typename T> |
| 8 | T align_up(T x, size_t align) { |
| 9 | typedef typename detail::MakeUnsigned<T>::Type UIntType; |
| 10 | UIntType mask = align - 1; |
| 11 | return (x + mask) & ~mask; |
| 12 | } |
| 13 | |
| 14 | } // namespace nn::util |