diff options
Diffstat (limited to 'lib/Fuzzer/FuzzerRandom.h')
-rw-r--r-- | lib/Fuzzer/FuzzerRandom.h | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/lib/Fuzzer/FuzzerRandom.h b/lib/Fuzzer/FuzzerRandom.h index b1be0bb935fa..8a1aa3ef5fdc 100644 --- a/lib/Fuzzer/FuzzerRandom.h +++ b/lib/Fuzzer/FuzzerRandom.h @@ -15,10 +15,11 @@ #include <random> namespace fuzzer { -class Random { +class Random : public std::mt19937 { public: - Random(unsigned int seed) : R(seed) {} - size_t Rand() { return R(); } + Random(unsigned int seed) : std::mt19937(seed) {} + result_type operator()() { return this->std::mt19937::operator()(); } + size_t Rand() { return this->operator()(); } size_t RandBool() { return Rand() % 2; } size_t operator()(size_t n) { return n ? Rand() % n : 0; } intptr_t operator()(intptr_t From, intptr_t To) { @@ -26,9 +27,6 @@ class Random { intptr_t RangeSize = To - From + 1; return operator()(RangeSize) + From; } - std::mt19937 &Get_mt19937() { return R; } - private: - std::mt19937 R; }; } // namespace fuzzer |