Skip to content

Commit

Permalink
remove unnecessary aux vars in value calculation
Browse files Browse the repository at this point in the history
  • Loading branch information
Wout4 committed May 13, 2024
1 parent 01c53f5 commit 6870a91
Showing 1 changed file with 3 additions and 6 deletions.
9 changes: 3 additions & 6 deletions cpmpy/expressions/globalconstraints.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,7 @@ def decompose(self):
return [var1 != var2 for var1, var2 in all_pairs(self.args)], []

def value(self):
values = argvals(self.args)
return len(set(values)) == len(self.args)
return len(set(argvals(self.args))) == len(self.args)


class AllDifferentExcept0(GlobalConstraint):
Expand All @@ -194,8 +193,7 @@ def decompose(self):
return [(var1 == var2).implies(var1 == 0) for var1, var2 in all_pairs(self.args)], []

def value(self):
vals = [argval(a) for a in self.args if argval(a) != 0]
return len(set(vals)) == len(vals)
return len(set([argval(a) for a in self.args if argval(a) != 0])) == len(vals)

def allequal(args):
warnings.warn("Deprecated, use AllEqual(v1,v2,...,vn) instead, will be removed in stable version", DeprecationWarning)
Expand All @@ -215,8 +213,7 @@ def decompose(self):
return [var1 == var2 for var1, var2 in zip(self.args[:-1], self.args[1:])], []

def value(self):
values = argvals(self.args)
return len(set(values)) == 1
return len(set(argvals(self.args))) == 1

def circuit(args):
warnings.warn("Deprecated, use Circuit(v1,v2,...,vn) instead, will be removed in stable version", DeprecationWarning)
Expand Down

0 comments on commit 6870a91

Please sign in to comment.