From 664c4f3fb0c97450ccd1ae117d7cc85d572688f8 Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 3 Oct 2017 15:47:32 -0400 Subject: [PATCH] random: extend generate_random_number() for all int types Signed-off-by: Casey Bodley --- src/include/random.h | 12 ++++++------ src/test/common/test_random.cc | 5 +---- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/include/random.h b/src/include/random.h index 2a42a519763..45f0b33fa2c 100644 --- a/src/include/random.h +++ b/src/include/random.h @@ -133,14 +133,14 @@ void randomize_rng() detail::randomize_rng(); } -template ::max(), - typename DistributionT = std::uniform_int_distribution, +template , typename EngineT = std::default_random_engine> -int generate_random_number() +IntegerT generate_random_number() { - return detail::generate_random_number - (min, max); + using limits = std::numeric_limits; + return detail::generate_random_number + (limits::min(), limits::max()); } template diff --git a/src/test/common/test_random.cc b/src/test/common/test_random.cc index d11744710ff..0b8b566af26 100644 --- a/src/test/common/test_random.cc +++ b/src/test/common/test_random.cc @@ -83,9 +83,6 @@ TEST(util, test_random) /* Technically, this can still collide and cause a false negative, but let's be optimistic: */ if (std::numeric_limits::max() > 32767) { - ASSERT_GT(a, -1); - ASSERT_GT(b, -1); - ASSERT_NE(a, b); } } @@ -104,7 +101,7 @@ TEST(util, test_random) for (auto n = 100000; n; --n) { constexpr int min = 0, max = 6; - int a = ceph::util::generate_random_number(); + int a = ceph::util::generate_random_number(min, max); ASSERT_GT(a, -1); ASSERT_LT(a, 7); } -- 2.39.5