getDerivedRandomEngine: use 32 bit input for std::seed_seq

This commit is contained in:
Adrien Béraud committed 2023-12-11 21:12:50 -05:00
1 parent 2017473156
commit 728c99999f
1 file changed
+3 -1
+3 -1
View File
@@ -66,7 +66,9 @@ template<class T = std::mt19937, std::size_t N = T::state_size+1>
auto getDerivedRandomEngine(T& source) -> typename std::enable_if<!!N, T>::type {
std::array<typename T::result_type, N> random_data;
std::generate(random_data.begin(), random_data.end(), std::ref(source));
std::seed_seq seed(random_data.begin(), random_data.end());
std::seed_seq seed(
(std::seed_seq::result_type*)random_data.data(),
(std::seed_seq::result_type*)(random_data.data() + random_data.size()));
return T(seed);
}