From 589fa05a83a03ebe0028413dbc357c0d5f3cebab Mon Sep 17 00:00:00 2001 From: Ranieri Althoff <1993083+ranisalt@users.noreply.github.com> Date: Sat, 14 Oct 2023 23:35:30 +0200 Subject: [PATCH] Fix normal_random behavior on negative params --- src/tools.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/tools.cpp b/src/tools.cpp index 58f72152f3..0ad6fefed7 100644 --- a/src/tools.cpp +++ b/src/tools.cpp @@ -291,9 +291,8 @@ int32_t normal_random(int32_t minNumber, int32_t maxNumber) v = normalRand(getRandomGenerator()); } while (v < 0.0 || v > 1.0); - std::tie(minNumber, maxNumber) = std::minmax(minNumber, maxNumber); - const int32_t diff = maxNumber - minNumber; - return minNumber + std::lround(v * diff); + auto&& [a, b] = std::minmax(minNumber, maxNumber); + return a + std::lround(v * (b - a)); } bool boolean_random(double probability /* = 0.5*/)