Skip to content

Commit f195e35

Browse files
committed
Use random finite value to force runtime evaluation
1 parent 5b2dfda commit f195e35

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

test/test_nan_conversions.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@
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

1216
using 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

Comments
 (0)