From 723a95f770fd2d7f640f684f8e73b31a97adc371 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Tue, 16 Jan 2024 21:12:57 +0200 Subject: [PATCH] Add assertions to detect invalid calls --- lib/CRandomGenerator.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/CRandomGenerator.cpp b/lib/CRandomGenerator.cpp index 657356411..037207c76 100644 --- a/lib/CRandomGenerator.cpp +++ b/lib/CRandomGenerator.cpp @@ -37,21 +37,25 @@ void CRandomGenerator::resetSeed() TRandI CRandomGenerator::getIntRange(int lower, int upper) { + assert(lower <= upper); return std::bind(TIntDist(lower, upper), std::ref(rand)); } vstd::TRandI64 CRandomGenerator::getInt64Range(int64_t lower, int64_t upper) { + assert(lower <= upper); return std::bind(TInt64Dist(lower, upper), std::ref(rand)); } int CRandomGenerator::nextInt(int upper) { + assert(0 <= upper); return getIntRange(0, upper)(); } int CRandomGenerator::nextInt(int lower, int upper) { + assert(lower <= upper); return getIntRange(lower, upper)(); } @@ -62,16 +66,19 @@ int CRandomGenerator::nextInt() vstd::TRand CRandomGenerator::getDoubleRange(double lower, double upper) { - return std::bind(TRealDist(lower, upper), std::ref(rand)); + assert(lower <= upper); + return std::bind(TRealDist(lower, upper), std::ref(rand)); } double CRandomGenerator::nextDouble(double upper) { + assert(0 <= upper); return getDoubleRange(0, upper)(); } double CRandomGenerator::nextDouble(double lower, double upper) { + assert(lower <= upper); return getDoubleRange(lower, upper)(); }