Generated on Thu Mar 16 2017 03:24:26 for Gecode by doxygen 1.8.13

Functions

void Gecode::channel (Home home, const IntVarArgs &x, const IntVarArgs &y, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$. More...
 
void Gecode::channel (Home home, const IntVarArgs &x, int xoff, const IntVarArgs &y, int yoff, IntPropLevel ipl=IPL_DEF)
 Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$. More...
 
void Gecode::channel (Home home, BoolVar x0, IntVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$. More...
 
void Gecode::channel (Home home, IntVar x0, BoolVar x1, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$. More...
 
void Gecode::channel (Home home, const BoolVarArgs &x, IntVar y, int o=0, IntPropLevel ipl=IPL_DEF)
 Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$. More...
 

Detailed Description

Function Documentation

◆ channel() [1/5]

void Gecode::channel ( Home  home,
const IntVarArgs x,
const IntVarArgs y,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator for $ x_i = j\leftrightarrow y_j=i$ for all $0\leq i<|x|$.

  • Supports domain consistency (ipl = IPL_DOM) and value propagation (all other values for ipl, default).
  • Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
  • Throws an exception of type Int::ArgumentSame, if x or y contain the same unassigned variable multiply. Note that a variable can occur in both x and y, but not more than once in either x or y.

Definition at line 147 of file channel.cpp.

◆ channel() [2/5]

void Gecode::channel ( Home  home,
const IntVarArgs x,
int  xoff,
const IntVarArgs y,
int  yoff,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator for $ x_i - \mathit{xoff} = j\leftrightarrow y_j - \mathit{yoff} = i$ for all $0\leq i<|x|$.

  • Supports domain consistency (ipl = IPL_DOM) and value propagation (all other values for ipl, default).
  • Throws an exception of type Int::ArgumentSizeMismatch, if x and y are of different size.
  • Throws an exception of type Int::ArgumentSame, if x or y contain the same unassigned variable multiply. Note that a variable can occur in both x and y, but not more than once in either x or y.
  • Throws an exception of type Int::OutOfLimits, if xoff or yoff are negative.

Definition at line 45 of file channel.cpp.

◆ channel() [3/5]

void Gecode::channel ( Home  home,
BoolVar  x0,
IntVar  x1,
IntPropLevel   
)

Post domain consistent propagator for channeling a Boolean and an integer variable $ x_0 = x_1$.

Definition at line 152 of file channel.cpp.

◆ channel() [4/5]

void Gecode::channel ( Home  home,
IntVar  x0,
BoolVar  x1,
IntPropLevel  ipl = IPL_DEF 
)
inline

Post domain consistent propagator for channeling an integer and a Boolean variable $ x_0 = x_1$.

Definition at line 1607 of file int.hh.

◆ channel() [5/5]

void Gecode::channel ( Home  home,
const BoolVarArgs x,
IntVar  y,
int  o = 0,
IntPropLevel  ipl = IPL_DEF 
)

Post domain consistent propagator for channeling Boolean and integer variables $ x_i = 1\leftrightarrow y=i+o$.

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

Definition at line 159 of file channel.cpp.