Bind RNG by reference in microbenchmarks
PiperOrigin-RevId: 324540550
diff --git a/bench/softmax.cc b/bench/softmax.cc
index 290151f..a4ed160 100644
--- a/bench/softmax.cc
+++ b/bench/softmax.cc
@@ -30,7 +30,7 @@
std::random_device random_device;
auto rng = std::mt19937(random_device());
- auto u8rng = std::bind(std::uniform_int_distribution<uint32_t>(0, std::numeric_limits<uint8_t>::max()), rng);
+ auto u8rng = std::bind(std::uniform_int_distribution<uint32_t>(0, std::numeric_limits<uint8_t>::max()), std::ref(rng));
std::vector<uint8_t> input(batch_size * channels);
std::vector<uint8_t> output(batch_size * channels);
@@ -95,7 +95,7 @@
std::random_device random_device;
auto rng = std::mt19937(random_device());
- auto f32rng = std::bind(std::uniform_real_distribution<float>(-100.0f, 100.0f), rng);
+ auto f32rng = std::bind(std::uniform_real_distribution<float>(-100.0f, 100.0f), std::ref(rng));
std::vector<float> input(batch_size * channels + XNN_EXTRA_BYTES / sizeof(float));
std::vector<float> output(batch_size * channels);
@@ -160,7 +160,7 @@
std::random_device random_device;
auto rng = std::mt19937(random_device());
- auto f32rng = std::bind(std::uniform_real_distribution<float>(-100.0f, 100.0f), rng);
+ auto f32rng = std::bind(std::uniform_real_distribution<float>(-100.0f, 100.0f), std::ref(rng));
flatbuffers::FlatBufferBuilder builder;
flatbuffers::Offset<tflite::OperatorCode> operator_code =