fix MacOS + Windows build (std::random_shuffle has been deprecated + removed in newer versions of C++)

This commit is contained in:
Russell Sears 2020-05-05 10:44:24 -07:00
parent 1f102f7e16
commit 5c17d5e054
2 changed files with 7 additions and 2 deletions

View File

@ -252,6 +252,8 @@ TEST_CASE("performance/map/int/StdMap") {
}
TEST_CASE("performance/flow/IndexedSet/integers") {
std::mt19937_64 urng(deterministicRandom()->randomUInt32());
std::vector<int> x;
for (int i = 0; i<1000000; i++)
x.push_back(deterministicRandom()->randomInt(0, 10000000));
@ -306,7 +308,7 @@ TEST_CASE("performance/flow/IndexedSet/integers") {
is.testonly_assertBalanced();
std::random_shuffle(x.begin(), x.end());
std::shuffle(x.begin(), x.end(), urng);
start = timer();
for (int i = 0; i<x.size(); i++) {
is.erase(x[i]);

View File

@ -23,6 +23,7 @@
#pragma once
#include "flow/flow.h"
#include <random>
struct opTimer {
double start = timer();
@ -78,6 +79,8 @@ struct MapHarness {
template <typename T, typename F>
void treeBenchmark(T& tree, F generateKey) {
std::mt19937_64 urng(deterministicRandom()->randomUInt32());
using key = typename T::key_type;
int keyCount = 1000000;
@ -105,7 +108,7 @@ void treeBenchmark(T& tree, F generateKey) {
timedRun("find (sorted)", keys, [&tree](key const& k) { ASSERT(tree.find(k) != tree.end()); });
std::random_shuffle(keys.begin(), keys.end());
std::shuffle(keys.begin(), keys.end(), urng);
timedRun("erase", keys, [&tree](key const& k) { tree.erase(k); });
ASSERT(tree.begin() == tree.end());