fix MacOS + Windows build (std::random_shuffle has been deprecated + removed in newer versions of C++)
This commit is contained in:
parent
1f102f7e16
commit
5c17d5e054
|
@ -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]);
|
||||
|
|
|
@ -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());
|
||||
|
|
Loading…
Reference in New Issue