3 #include <boost/test/unit_test.hpp> 9 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint64_t(3)), 4);
10 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint64_t(4)), 8);
11 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint64_t(8)), 16);
12 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint64_t(17)), 32);
13 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint64_t(2317)), 4096);
20 constexpr std::uint64_t actual =
jb::p2ceil(std::uint64_t(17));
21 static_assert(actual == 32,
"Error in p2ceil static assert");
22 BOOST_CHECK_EQUAL(actual, 32);
29 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint32_t(3)), 4);
30 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint32_t(4)), 8);
31 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint32_t(8)), 16);
32 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint32_t(17)), 32);
33 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint32_t(2317)), 4096);
40 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint16_t(3)), 4);
41 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint16_t(4)), 8);
42 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint16_t(8)), 16);
43 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint16_t(17)), 32);
44 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint16_t(2317)), 4096);
51 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint8_t(3)), 4);
52 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint8_t(4)), 8);
53 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint8_t(8)), 16);
54 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint8_t(17)), 32);
55 BOOST_CHECK_EQUAL(
jb::p2ceil(std::uint8_t(125)), 128);
BOOST_AUTO_TEST_CASE(p2ceil_simple_64)
constexpr std::uint64_t p2ceil(std::uint64_t n)
Find the smallest power of 2 larger than n for a 64-bit integer.