From 57a8097ceacb63c0493f3aad1db879d2194ad162 Mon Sep 17 00:00:00 2001 From: Michael Tautschnig Date: Thu, 24 Mar 2022 00:45:57 +0000 Subject: [PATCH] Use random_shuffle in a future-proof way Variants of random_shuffle supported in C++11 have been deprecated in later versions of the standard. Specifying a random-number generator is supported as of C++11 and not (yet) deprecated in any later version. --- unit/util/interval/get_extreme.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/unit/util/interval/get_extreme.cpp b/unit/util/interval/get_extreme.cpp index 0bb1c48022f..63c15d3f5d0 100644 --- a/unit/util/interval/get_extreme.cpp +++ b/unit/util/interval/get_extreme.cpp @@ -3,8 +3,6 @@ Author: DiffBlue Limited \*******************************************************************/ -#include - #include #include #include @@ -13,6 +11,10 @@ #include #include +#include + +#include + #define V(X) (bvrep2integer(X.get(ID_value).c_str(), 32, true)) #define V_(X) (bvrep2integer(X.c_str(), 32, true)) #define CEV(X) (from_integer(mp_integer(X), signedbv_typet(32))) @@ -147,7 +149,9 @@ SCENARIO("get extreme exprt value", "[core][analyses][interval][get_extreme]") WHEN("All from [-100:100] are shuffled and selected") { - std::random_shuffle(ve.begin(), ve.end()); + std::random_device rd; + std::mt19937 g(rd()); + std::shuffle(ve.begin(), ve.end(), g); exprt min = constant_interval_exprt::get_extreme(ve, true); exprt max = constant_interval_exprt::get_extreme(ve, false);