summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/Utilities/Random.cpp8
-rw-r--r--src/common/Utilities/Random.h3
2 files changed, 11 insertions, 0 deletions
diff --git a/src/common/Utilities/Random.cpp b/src/common/Utilities/Random.cpp
index 40090caa15..babf235005 100644
--- a/src/common/Utilities/Random.cpp
+++ b/src/common/Utilities/Random.cpp
@@ -69,6 +69,14 @@ Milliseconds randtime(Milliseconds min, Milliseconds max)
return min + Milliseconds(urand(0, diff));
}
+Seconds randtime(Seconds min, Seconds max)
+{
+ long long diff = max.count() - min.count();
+ ASSERT(diff >= 0);
+ ASSERT(diff <= (uint32) - 1);
+ return min + Seconds(urand(0, diff));
+}
+
uint32 rand32()
{
return GetRng()->RandomUInt32();
diff --git a/src/common/Utilities/Random.h b/src/common/Utilities/Random.h
index 60d543bc4d..654b1817d2 100644
--- a/src/common/Utilities/Random.h
+++ b/src/common/Utilities/Random.h
@@ -38,6 +38,9 @@ AC_COMMON_API uint32 rand32();
/* Return a random time in the range min..max (up to millisecond precision). Only works for values where millisecond difference is a valid uint32. */
AC_COMMON_API Milliseconds randtime(Milliseconds min, Milliseconds max);
+/* Return a random time in the range min..max (up to second precision). */
+AC_COMMON_API Seconds randtime(Seconds min, Seconds max);
+
/* Return a random number in the range min..max */
AC_COMMON_API float frand(float min, float max);