From f6131af02b9a17a02eee5546469311d1941bc30b Mon Sep 17 00:00:00 2001 From: jackpoz Date: Sun, 29 Nov 2015 00:07:35 +0100 Subject: Merge pull request #15912 from Treeston/3.3.5-urandms Core/Util: Add urandms(minMS, maxMS) helper (cherry picked from commit c1b4cd21f3debc2eb5e462c5adce659b558c7dc9) --- src/common/Utilities/Util.cpp | 7 +++++++ src/common/Utilities/Util.h | 3 +++ 2 files changed, 10 insertions(+) (limited to 'src') diff --git a/src/common/Utilities/Util.cpp b/src/common/Utilities/Util.cpp index ec67968f11e..0488978ae17 100644 --- a/src/common/Utilities/Util.cpp +++ b/src/common/Utilities/Util.cpp @@ -59,6 +59,13 @@ uint32 urand(uint32 min, uint32 max) return GetRng()->URandom(min, max); } +uint32 urandms(uint32 min, uint32 max) +{ + ASSERT(max >= min); + ASSERT(INT_MAX/IN_MILLISECONDS >= max); + return GetRng()->URandom(min * IN_MILLISECONDS, max * IN_MILLISECONDS); +} + float frand(float min, float max) { ASSERT(max >= min); diff --git a/src/common/Utilities/Util.h b/src/common/Utilities/Util.h index a48a3e42f3b..468b0201680 100644 --- a/src/common/Utilities/Util.h +++ b/src/common/Utilities/Util.h @@ -84,6 +84,9 @@ int32 irand(int32 min, int32 max); /* Return a random number in the range min..max (inclusive). */ uint32 urand(uint32 min, uint32 max); +/* Return a random millisecond value between min and max seconds. Functionally equivalent to urand(min*IN_MILLISECONDS, max*IN_MILLISECONDS). */ +uint32 urandms(uint32 min, uint32 max); + /* Return a random number in the range 0 .. UINT32_MAX. */ uint32 rand32(); -- cgit v1.2.3