diff --git a/CHANGELOG.md b/CHANGELOG.md index 12cb2e6dc..6d904d71f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +Changes: +* Restrict unordered bound hyperrectangle conditions within min/max during covering ([#215](https://github.com/xcsf-dev/xcsf/pull/215)) + ## Version 1.4.9 (Sep 11, 2025) Changes: diff --git a/xcsf/cond_rectangle.c b/xcsf/cond_rectangle.c index cbe473584..ab4455c3f 100644 --- a/xcsf/cond_rectangle.c +++ b/xcsf/cond_rectangle.c @@ -17,7 +17,7 @@ * @file cond_rectangle.c * @author Richard Preen * @copyright The Authors. - * @date 2019--2023. + * @date 2019--2025. * @brief Hyperrectangle condition functions. */ @@ -120,6 +120,8 @@ cond_rectangle_cover(const struct XCSF *xcsf, const struct Cl *c, const double r2 = rand_uniform(xcsf->cond->spread_min, spread_max); cond->b1[i] = x[i] - (r1 * 0.5); cond->b2[i] = x[i] + (r2 * 0.5); + cond->b1[i] = clamp(cond->b1[i], xcsf->cond->min, xcsf->cond->max); + cond->b2[i] = clamp(cond->b2[i], xcsf->cond->min, xcsf->cond->max); } } }