From a340de2b152e472779eed151c145fe3dca6493e4 Mon Sep 17 00:00:00 2001 From: Nathan Tran Date: Fri, 17 Oct 2025 10:39:51 +0000 Subject: [PATCH] Fix off-by-one error in random value generation for uniform_int ranges for uniform_on_restart --- gecode/flatzinc/flatzinc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gecode/flatzinc/flatzinc.cpp b/gecode/flatzinc/flatzinc.cpp index e90ec61bf4..8a1adcb0e8 100644 --- a/gecode/flatzinc/flatzinc.cpp +++ b/gecode/flatzinc/flatzinc.cpp @@ -2040,7 +2040,7 @@ namespace Gecode { namespace FlatZinc { // Assign uniform_int random values for (size_t i = 0; i < restart_data().uniform_range_int.size(); ++i) { const auto& range = restart_data().uniform_range_int[i]; - const int rndVal = range.first + _random(static_cast(range.second - range.first)); + const int rndVal = range.first + _random(static_cast(range.second - range.first + 1)); rel(*this, on_restart_iv[base + i], IRT_EQ, rndVal); } base += restart_data().uniform_range_int.size();