summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorJelle Meeus <sogladev@gmail.com>2025-06-20 23:18:05 +0200
committerGitHub <noreply@github.com>2025-06-20 23:18:05 +0200
commit7fc8b14e3eb4eaf2acec0f27cecd4a7e44015f09 (patch)
treeb57941a15df7277d563a04e04863ce9906a5a6a3 /src/common
parente21dd803812c6ba324b70e3b3fde8d42f0656fdd (diff)
feat(Core/Utilities): add `Seconds` overload for `randtime` (#22337)
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);