From eae565dfc8b743c22199e0ef85b7a1f420a0d8eb Mon Sep 17 00:00:00 2001 From: mutouyun Date: Wed, 2 Jan 2019 12:37:18 +0800 Subject: [PATCH] adjust code --- src/memory/resource.hpp | 8 ++++++-- test/test_mem.cpp | 2 -- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/memory/resource.hpp b/src/memory/resource.hpp index 53de231..8a46af5 100644 --- a/src/memory/resource.hpp +++ b/src/memory/resource.hpp @@ -41,6 +41,11 @@ enum : std::size_t { base_size = sizeof(void*) }; +template +constexpr std::size_t roundup(std::size_t n) { + return ((n - 1) & (~(Radix - 1))) + Radix; +} + using fixed_sequence_t = std::index_sequence< base_size , base_size * 2 , base_size * 3 , base_size * 4 , @@ -54,8 +59,7 @@ using fixed_sequence_t = std::index_sequence< template decltype(auto) choose(std::size_t size, F&& f) { - size = ((size - 1) & (~(base_size - 1))) + base_size; - return detail::static_switch(size, fixed_sequence_t { + return detail::static_switch(roundup(size), fixed_sequence_t { }, [&f](auto index) { return f(fixed()); }, [&f] { diff --git a/test/test_mem.cpp b/test/test_mem.cpp index 348c4d8..ec6725a 100644 --- a/test/test_mem.cpp +++ b/test/test_mem.cpp @@ -87,8 +87,6 @@ void Unit::initTestCase() { for (int i = 0; i < LoopCount; ++i) { sizes__.emplace_back(static_cast(rdm())); } - - ipc::mem::pool_alloc::clear(); } void Unit::cleanupTestCase() {