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)(); }