From: Casey Bodley Date: Tue, 3 Oct 2017 19:47:32 +0000 (-0400) Subject: random: extend generate_random_number() for all int types X-Git-Tag: v13.0.1~587^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=664c4f3fb0c97450ccd1ae117d7cc85d572688f8;p=ceph.git random: extend generate_random_number() for all int types Signed-off-by: Casey Bodley --- diff --git a/src/include/random.h b/src/include/random.h index 2a42a5197630..45f0b33fa2c3 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 d11744710ffd..0b8b566af264 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); }