Skip to content

Commit

Permalink
Fix error with isEq/isGeq due to bool type not caught
Browse files Browse the repository at this point in the history
  • Loading branch information
cprudhom committed Sep 6, 2024
1 parent cdadf1d commit 7d91344
Showing 1 changed file with 13 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,14 @@ default BoolVar isEq(IntVar var, int v) {
} else if (!var.contains(v)) {
return ref().boolVar(false);
} else {
if (VariableUtils.isBool(var)) {
BoolVar bvar = (BoolVar) var;
if (v == 0) {
return bvar.not();
} else {
return bvar;
}
}
if (ref().getSettings().enableViews()) {
int p = checkDeclaredView(var, v, BoolEqView.class, ref().getSettings().checkDeclaredViews());
if (p >= 0) {
Expand Down Expand Up @@ -252,6 +260,11 @@ default BoolVar isGeq(IntVar var, int v) {
} else if (var.getUB() < v) {
return ref().boolVar(false);
} else {
if (VariableUtils.isBool(var)) {
BoolVar bvar = (BoolVar) var;
assert v == 1;
return bvar;
}
if (ref().getSettings().enableViews()) {
int p = checkDeclaredView(var, v - 1, BoolLeqView.class, ref().getSettings().checkDeclaredViews());
if (p >= 0) {
Expand Down

0 comments on commit 7d91344

Please sign in to comment.