88#include < boost/core/lightweight_test.hpp>
99#include < functional>
1010#include < array>
11+ #include < random>
12+
13+ static std::mt19937_64 rng{42 };
14+ static std::uniform_int_distribution<unsigned > dist{5 , 100 };
1115
1216using namespace boost ::decimal;
1317
@@ -53,12 +57,11 @@ void generate_tests()
5357
5458 const std::array<unsigned , N> payloads {0 , 0 , 1 , 2 , 3 };
5559 const std::array<const char *, N> nans {" sNaN" , " SNAN" , " snan1" , " SnAn2" , " SNAN3" };
56- const std::array<const char *, N> values {" 1" , " 2" , " 3" , " 4" , " 5" };
5760
5861 for (std::size_t i = 0 ; i < N; ++i)
5962 {
6063 const T value1 {nans[i]};
61- const T value2 {values[i] };
64+ const T value2 {dist (rng) };
6265 const auto current_payload {payloads[i]};
6366
6467 test (value1, value2, std::plus<>(), current_payload);
@@ -83,12 +86,11 @@ void generate_qnan_tests()
8386
8487 const std::array<unsigned , N> payloads {0 , 0 , 1 , 2 , 3 };
8588 const std::array<const char *, N> nans {" NaN" , " NAN" , " nan1" , " nAn2" , " NAN(3)" };
86- const std::array<const char *, N> values {" 1" , " 2" , " 3" , " 4" , " 5" };
8789
8890 for (std::size_t i = 0 ; i < N; ++i)
8991 {
9092 const T value1 {nans[i]};
91- const T value2 {values[i] };
93+ const T value2 {dist (rng) };
9294 const auto current_payload {payloads[i]};
9395
9496 test_qnan_preservation (value1, value2, std::plus<>(), current_payload);
0 commit comments