Distributed Ranges
Loading...
Searching...
No Matches
utils.hpp
1// SPDX-FileCopyrightText: Intel Corporation
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#pragma once
6
7namespace dr::__detail {
8
9inline std::size_t round_up(std::size_t n, std::size_t multiple) {
10 if (multiple == 0) {
11 return n;
12 }
13
14 int remainder = n % multiple;
15 if (remainder == 0) {
16 return n;
17 }
18
19 return n + multiple - remainder;
20}
21
22inline std::size_t partition_up(std::size_t n, std::size_t multiple) {
23 if (multiple == 0) {
24 return n;
25 }
26
27 return round_up(n, multiple) / multiple;
28}
29
30} // namespace dr::__detail