- Notifications
You must be signed in to change notification settings - Fork82
Fixing one off in the uniform_on_restart bug.#207
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:release/6.3.0
Are you sure you want to change the base?
Uh oh!
There was an error while loading.Please reload this page.
Conversation
…s for uniform_on_restart
Dekker1 commentedOct 26, 2025
This fix looks good to me. As you pointed out, I didn't see that the The same issue actually is also present for floating point, although in a different form: This will never reach the upper bound, as the division will never reach one because This seems fine, and I think any other fix would require an inclusive version of the random number generator, which would be more work. |
kieronqtran commentedNov 10, 2025
Updated for uniform_on_researt for float. Thank@Dekker1 |
Uh oh!
There was an error while loading.Please reload this page.
This pull request makes a small but important fix to the random value assignment logic in the
gecode/flatzinc/flatzinc.cppfile. The change ensures that the generated random integer values can include the upper bound of the specified range, correcting an off-by-one error. This is happened becasueRnd _randominput domain is[lower_bound, upper_bound)and+ 1to correct set to[lower_bound, upper_bound], and it is effect touniform_on_restartconstraints.(range.second - range.first)to(range.second - range.first + 1).