Generated on Thu Mar 22 10:39:49 2012 for Gecode by doxygen 1.6.3

Distinct constraints
[Using finite domain integers]

Functions

void Gecode::distinct (Home home, const IntVarArgs &x, IntConLevel icl=ICL_DEF)
 Post propagator for $ x_i\neq x_j$ for all $0\leq i\neq j<|x|$.
void Gecode::distinct (Home home, const IntArgs &n, const IntVarArgs &x, IntConLevel icl=ICL_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 ( Home  home,
const IntVarArgs &  x,
IntConLevel  icl = ICL_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.

void Gecode::distinct ( Home  home,
const IntArgs &  n,
const IntVarArgs &  x,
IntConLevel  icl = ICL_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.