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"; }