Generated on Mon Aug 25 11:35:47 2008 for Gecode by doxygen 1.5.6

Distinct constraints
[Using finite domain integers]


Functions

void Gecode::distinct (Space *home, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
 Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void Gecode::distinct (Space *home, const IntArgs &n, const IntVarArgs &x, IntConLevel icl=ICL_DEF, PropKind pk=PK_DEF)
 Post propagator for $ x_i+n_i\neq x_j+n_j$ for all $0\leq i\neq j<|x|$.


Function Documentation

void Gecode::distinct ( Space *  home,
const IntVarArgs &  x,
IntConLevel  icl = ICL_DEF,
PropKind  pk = PK_DEF 
)

Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$.

Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).

Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Definition at line 47 of file distinct.cc.

void Gecode::distinct ( Space *  home,
const IntArgs &  n,
const IntVarArgs &  x,
IntConLevel  icl = ICL_DEF,
PropKind  pk = PK_DEF 
)

Post propagator for $ x_i+n_i\neq x_j+n_j$ for all $0\leq i\neq j<|x|$.

  • Supports value (icl = ICL_VAL, default), bounds (icl = ICL_BND), and domain consistency (icl = ICL_DOM).
  • Throws an exception of type Int::OutOfLimits, if the integers in n exceed the limits in Int::Limits or if the sum of n and x exceed the limits.
  • Throws an exception of type Int::ArgumentSizeMismatch, if x and n are of different size.
  • Throws an exception of type Int::ArgumentSame, if x contains the same unassigned variable multiply.

Definition at line 65 of file distinct.cc.