Module constraint :: Class AllEqualConstraint
[show private | hide private]
[frames | no frames]

Type AllEqualConstraint

object --+    
Constraint --+

Constraint enforcing that values of all given variables are equal

>>> problem = Problem()
>>> problem.addVariables(["a", "b"], [1, 2])
>>> problem.addConstraint(AllEqualConstraint())
>>> sorted(sorted(x.items()) for x in problem.getSolutions())
[[('a', 1), ('b', 1)], [('a', 2), ('b', 2)]]

Method Summary
bool __call__(self, variables, domains, assignments, forwardcheck)
Perform the constraint checking
    Inherited from Constraint
bool forwardCheck(self, variables, domains, assignments, _unassigned)
Helper method for generic forward checking
  preProcess(self, variables, domains, constraints, vconstraints)
Preprocess variable domains
    Inherited from object
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
x.__delattr__('name') <==> del
x.__getattribute__('name') <==>
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
helper for pickle
helper for pickle
x.__repr__() <==> repr(x)
x.__setattr__('name', value) <==> = value
x.__str__() <==> str(x)

Method Details

__call__(self, variables, domains, assignments, forwardcheck=False, _unassigned=Unassigned)
(Call operator)

Perform the constraint checking

If the forwardcheck parameter is not false, besides telling if the constraint is currently broken or not, the constraint implementation may choose to hide values from the domains of unassigned variables to prevent them from being used, and thus prune the search space.
variables - Variables affected by that constraint, in the same order provided by the user
domains - Dictionary mapping variables to their domains
assignments - Dictionary mapping assigned variables to their current assumed value
forwardcheck - Boolean value stating whether forward checking should be performed or not
Boolean value stating if this constraint is currently broken or not
constraint.Constraint.__call__ (inherited documentation)

Generated by Epydoc 2.1 on Thu Jul 7 02:05:09 2005