소스 검색

Add assertions to detect invalid calls

Ivan Savenko 1 년 전
부모
커밋
723a95f770
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      lib/CRandomGenerator.cpp

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