diff --git a/test/helpers/generators.hpp b/test/helpers/generators.hpp index 8e7a9571..86be1d4d 100644 --- a/test/helpers/generators.hpp +++ b/test/helpers/generators.hpp @@ -3,7 +3,12 @@ // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// A crude wrapper round Boost.Random to make life easier. +// This uses std::rand to generate random values for tests. +// Which is not good as different platforms will be running different tests. +// It would be much better to use Boost.Random, but it doesn't +// support all the compilers that I want to test on. +// TODO: seed the random generator. +// TODO: check that this is actually working... #if !defined(BOOST_UNORDERED_TEST_HELPERS_GENERATORS_HEADER) #define BOOST_UNORDERED_TEST_HELPERS_GENERATORS_HEADER @@ -11,19 +16,12 @@ #include #include #include -#include -#include -#include -#include -#include +#include #include "./fwd.hpp" namespace test { - typedef boost::hellekalek1995 integer_generator_type; - typedef boost::lagged_fibonacci607 real_generator_type; - template struct generator; @@ -48,20 +46,14 @@ namespace test inline int generate(int const*) { - static integer_generator_type gen; - static boost::uniform_int<> dist(0, 1000); - static boost::variate_generator > - vg(gen, dist); - return vg(); + using namespace std; + return rand(); } inline char generate(char const*) { - static integer_generator_type gen; - static boost::uniform_int dist(32, 127); - static boost::variate_generator > - vg(gen, dist); - return vg(); + using namespace std; + return (rand() >> 1) % (128-32) + 32; } inline std::string generate(std::string const*) @@ -81,11 +73,7 @@ namespace test float generate(float const*) { - static real_generator_type gen; - static boost::uniform_real dist; - static boost::variate_generator > - vg(gen, dist); - return vg(); + return (float) rand() / (float) RAND_MAX; } }