diff options
| author | Martin Hořeňovský | 2023-12-10 21:22:43 +0100 |
|---|---|---|
| committer | Martin Hořeňovský | 2023-12-10 21:22:43 +0100 |
| commit | a6f22c51699b78116cac54a4ac95bbed710efbd4 (patch) | |
| tree | 03084267c83b6a35d7eaedbef02d05e99ab42bff | |
| parent | 1887d42e3d880414a8e9c6746810a42521b0ee90 (diff) | |
| download | catch3-a6f22c51699b78116cac54a4ac95bbed710efbd4.tar.gz | |
Remove static instance of std::random_device in Benchmark::analyse_samples
| -rw-r--r-- | src/catch2/benchmark/detail/catch_stats.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/catch2/benchmark/detail/catch_stats.cpp b/src/catch2/benchmark/detail/catch_stats.cpp index 5867f1e1..a56edfc0 100644 --- a/src/catch2/benchmark/detail/catch_stats.cpp +++ b/src/catch2/benchmark/detail/catch_stats.cpp @@ -355,11 +355,6 @@ namespace Catch { unsigned int n_resamples, double* first, double* last) { - CATCH_INTERNAL_START_WARNINGS_SUPPRESSION - CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS - static std::random_device entropy; - CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION - auto n = static_cast<int>(last - first); // seriously, one can't use integral types without hell in C++ auto mean = &Detail::mean; @@ -367,7 +362,8 @@ namespace Catch { #if defined(CATCH_CONFIG_USE_ASYNC) auto Estimate = [=](double(*f)(double const*, double const*)) { - auto seed = entropy(); + std::random_device rd; + auto seed = rd(); return std::async(std::launch::async, [=] { SimplePcg32 rng( seed ); auto resampled = resample(rng, n_resamples, first, last, f); @@ -382,7 +378,8 @@ namespace Catch { auto stddev_estimate = stddev_future.get(); #else auto Estimate = [=](double(*f)(double const* , double const*)) { - auto seed = entropy(); + std::random_device rd; + auto seed = rd(); SimplePcg32 rng( seed ); auto resampled = resample(rng, n_resamples, first, last, f); return bootstrap(confidence_level, first, last, resampled, f); |