diff options
author | 2017-08-24 09:32:30 -0700 | |
---|---|---|
committer | 2017-08-29 08:44:54 -0700 | |
commit | 6defb325d92458e30096140ef899e7e66fd0e433 (patch) | |
tree | 829fd66e58c89808600c245b66cf5b1a4bf173b6 /test/cpp/qps/interarrival.h | |
parent | 12bc68ea71f976c8a8a2c30c037682cf98d87225 (diff) |
Remove some pre-C++11-style workarounds
Diffstat (limited to 'test/cpp/qps/interarrival.h')
-rw-r--r-- | test/cpp/qps/interarrival.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/test/cpp/qps/interarrival.h b/test/cpp/qps/interarrival.h index c6e417985a..1fa310c209 100644 --- a/test/cpp/qps/interarrival.h +++ b/test/cpp/qps/interarrival.h @@ -21,7 +21,7 @@ #include <chrono> #include <cmath> -#include <cstdlib> +#include <random> #include <vector> #include <grpc++/support/config.h> @@ -75,13 +75,13 @@ class InterarrivalTimer { public: InterarrivalTimer() {} void init(const RandomDistInterface& r, int threads, int entries = 1000000) { + std::random_device devrand; + std::mt19937_64 generator(devrand()); + std::uniform_real_distribution<double> rando(0, 1); for (int i = 0; i < entries; i++) { - // rand is the only choice that is portable across POSIX and Windows - // and that supports new and old compilers - const double uniform_0_1 = - static_cast<double>(rand()) / static_cast<double>(RAND_MAX); random_table_.push_back( - static_cast<int64_t>(1e9 * r.transform(uniform_0_1))); + static_cast<int64_t>(1e9 * r.transform(rando(generator)))); + ; } // Now set up the thread positions for (int i = 0; i < threads; i++) { |