4
4
// Boost Software License, Version 1.0. (See accompanying file
5
5
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
6
7
- #include < vector >
7
+ #include < cstddef >
8
8
#include < random>
9
9
#include < type_traits>
10
- #include < cstddef >
10
+ #include < vector >
11
11
12
12
namespace boost { namespace math {
13
13
@@ -25,12 +25,12 @@ std::vector<T> generate_random_vector(std::size_t size, std::size_t seed)
25
25
}
26
26
std::vector<T> v (size);
27
27
28
- std::mt19937 gen (seed);
28
+ std::mt19937_64 gen (seed);
29
29
30
30
std::normal_distribution<T> dis (0 , 1 );
31
- for (std:: size_t i = 0 ; i < v. size (); ++i )
31
+ for ( auto & x : v )
32
32
{
33
- v[i] = dis (gen);
33
+ x = dis (gen);
34
34
}
35
35
return v;
36
36
}
@@ -49,9 +49,9 @@ std::vector<T> generate_random_uniform_vector(std::size_t size, std::size_t seed
49
49
50
50
std::uniform_real_distribution<T> dis (lower_bound, upper_bound);
51
51
52
- for (auto & i : v)
52
+ for (auto & x : v)
53
53
{
54
- i = dis (gen);
54
+ x = dis (gen);
55
55
}
56
56
57
57
return v;
@@ -70,9 +70,9 @@ std::vector<T> generate_random_vector(std::size_t size, std::size_t seed, T mean
70
70
std::mt19937 gen (seed);
71
71
72
72
std::normal_distribution<T> dis (mean, stddev);
73
- for (std:: size_t i = 0 ; i < v. size (); ++i )
73
+ for (auto & x : v )
74
74
{
75
- v[i] = dis (gen);
75
+ x = dis (gen);
76
76
}
77
77
return v;
78
78
}
@@ -87,13 +87,13 @@ std::vector<T> generate_random_vector(std::size_t size, std::size_t seed)
87
87
}
88
88
std::vector<T> v (size);
89
89
90
- std::mt19937 gen (seed);
90
+ std::mt19937_64 gen (seed);
91
91
92
92
// Rescaling by larger than 2 is UB!
93
93
std::uniform_int_distribution<T> dis (std::numeric_limits<T>::lowest ()/2 , (std::numeric_limits<T>::max)()/2 );
94
- for (std:: size_t i = 0 ; i < v. size (); ++i )
94
+ for (auto & x : v )
95
95
{
96
- v[i] = dis (gen);
96
+ x = dis (gen);
97
97
}
98
98
return v;
99
99
}
0 commit comments