From 4a49deb7ad39826b8e2438d865ef78705c3b3090 Mon Sep 17 00:00:00 2001 From: Isaak Lim Date: Mon, 1 Oct 2012 09:12:43 +0000 Subject: [PATCH] - fixed the RandomNumberGenerator, where it numbers greater than 1.0 could be returned - activated the corresponding unit tests git-svn-id: http://www.openmesh.org/svnrepo/OpenMesh/trunk@727 fdac6126-5c0c-442c-9429-916003d36597 --- src/OpenMesh/Core/Utils/RandomNumberGenerator.cc | 2 +- src/Unittests/unittests_randomNumberGenerator.hh | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/OpenMesh/Core/Utils/RandomNumberGenerator.cc b/src/OpenMesh/Core/Utils/RandomNumberGenerator.cc index 8e3d78be..3e7c33ad 100644 --- a/src/OpenMesh/Core/Utils/RandomNumberGenerator.cc +++ b/src/OpenMesh/Core/Utils/RandomNumberGenerator.cc @@ -66,7 +66,7 @@ namespace OpenMesh { RandomNumberGenerator::RandomNumberGenerator(const double _resolution) : resolution_(_resolution), iterations_(1), - maxNum_(RAND_MAX) + maxNum_(RAND_MAX + 1.0) { double tmp = resolution_; while (tmp > (double(RAND_MAX) + 1.0) ) { diff --git a/src/Unittests/unittests_randomNumberGenerator.hh b/src/Unittests/unittests_randomNumberGenerator.hh index 9ba0bc96..31171541 100644 --- a/src/Unittests/unittests_randomNumberGenerator.hh +++ b/src/Unittests/unittests_randomNumberGenerator.hh @@ -53,8 +53,8 @@ TEST_F(RandomNumberGenerator, RandomNumberGeneratorMaxTestHighres) { average /= 100000000.0; - // EXPECT_EQ(0u, lowerZero ) << "Below zero!"; - // EXPECT_EQ(0u, above1 ) << "Above zero!"; + EXPECT_EQ(0u, lowerZero ) << "Below zero!"; + EXPECT_EQ(0u, above1 ) << "Above zero!"; EXPECT_TRUE( (average - 0.5) < 0.01 ) << "Expected value not 0.5"; } @@ -76,8 +76,6 @@ TEST_F(RandomNumberGenerator, RandomNumberGeneratorMaxTestLowres) { if ( randomNumber > 1.0 ) { above1++; - std::cerr << "randomNumber " << randomNumber << std::endl; - std::cerr << "resolution " << rng.resolution() << std::endl; } average += randomNumber; @@ -85,8 +83,8 @@ TEST_F(RandomNumberGenerator, RandomNumberGeneratorMaxTestLowres) { average /= 10000000.0; - // EXPECT_EQ(0u, lowerZero ) << "Below zero!"; - // EXPECT_EQ(0u, above1 ) << "Above zero!"; + EXPECT_EQ(0u, lowerZero ) << "Below zero!"; + EXPECT_EQ(0u, above1 ) << "Above zero!"; EXPECT_TRUE( (average - 0.5) < 0.01 ) << "Expected value not 0.5"; }