Generated on Sat Feb 7 2015 02:01:34 for Gecode by doxygen 1.8.9.1
int-post.cpp File Reference

(Revision: 13292)

#include <algorithm>
#include <gecode/int/rel.hh>
#include <gecode/int/linear.hh>
#include <gecode/int/div.hh>

Go to the source code of this file.

Namespaces

 Gecode
 Gecode toplevel namespace
 
 Gecode::Int
 Finite domain integers.
 
 Gecode::Int::Linear
 Linear propagators
 

Macros

#define GECODE_INT_PL_BIN(CLASS)
 Macro for posting binary special cases for linear constraints. More...
 
#define GECODE_INT_PL_TER(CLASS)
 Macro for posting ternary special cases for linear constraints. More...
 

Functions

void Gecode::Int::Linear::eliminate (Term< IntView > *t, int &n, long long int &d)
 Eliminate assigned views. More...
 
void Gecode::Int::Linear::rewrite (IntRelType &irt, long long int &d, Term< IntView > *&t_p, int &n_p, Term< IntView > *&t_n, int &n_n)
 Rewrite all inequations in terms of IRT_LQ. More...
 
bool Gecode::Int::Linear::precision (Term< IntView > *t_p, int n_p, Term< IntView > *t_n, int n_n, long long int d)
 Decide the required precision and check for overflow. More...
 
template<class Val , class View >
void Gecode::Int::Linear::post_nary (Home home, ViewArray< View > &x, ViewArray< View > &y, IntRelType irt, Val c)
 Posting n-ary propagators. More...
 
void Gecode::Int::Linear::post (Home home, Term< IntView > *t, int n, IntRelType irt, int c, IntConLevel=ICL_DEF)
 Post propagator for linear constraint over integers. More...
 
template<class Val , class View >
void Gecode::Int::Linear::post_nary (Home home, ViewArray< View > &x, ViewArray< View > &y, IntRelType irt, Val c, Reify r)
 Posting reified n-ary propagators. More...
 
template<class CtrlView >
void Gecode::Int::Linear::posteqint (Home home, IntView &x, int c, CtrlView b, ReifyMode rm, IntConLevel icl)
 
void Gecode::Int::Linear::post (Home home, Term< IntView > *t, int n, IntRelType irt, int c, Reify r, IntConLevel=ICL_DEF)
 Post reified propagator for linear constraint. More...
 

Macro Definition Documentation

#define GECODE_INT_PL_BIN (   CLASS)
Value:
switch (n_p) { \
case 2: \
(home,t_p[0].x,t_p[1].x,c))); \
break; \
case 1: \
(home,t_p[0].x,MinusView(t_n[0].x),c))); \
break; \
case 0: \
(home,MinusView(t_n[0].x),MinusView(t_n[1].x),c))); \
break; \
default: GECODE_NEVER; \
}
Gecode::FloatVal c(-8, 8)
Node * x
Pointer to corresponding Boolean expression node.
Definition: bool-expr.cpp:253
void post(Home home, Term< IntView > *t, int n, IntRelType irt, int c, Reify r, IntConLevel icl)
Post reified propagator for linear constraint.
Definition: int-post.cpp:520
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
Definition: macros.hpp:96
#define GECODE_NEVER
Assert that this command is never executed.
Definition: macros.hpp:60

Macro for posting binary special cases for linear constraints.

Definition at line 180 of file int-post.cpp.

#define GECODE_INT_PL_TER (   CLASS)
Value:
switch (n_p) { \
case 3: \
(home,t_p[0].x,t_p[1].x,t_p[2].x,c))); \
break; \
case 2: \
(home,t_p[0].x,t_p[1].x, \
MinusView(t_n[0].x),c))); \
break; \
case 1: \
(home,t_p[0].x, \
MinusView(t_n[0].x),MinusView(t_n[1].x),c))); \
break; \
case 0: \
(home,MinusView(t_n[0].x), \
MinusView(t_n[1].x),MinusView(t_n[2].x),c))); \
break; \
default: GECODE_NEVER; \
}
Gecode::FloatVal c(-8, 8)
Node * x
Pointer to corresponding Boolean expression node.
Definition: bool-expr.cpp:253
void post(Home home, Term< IntView > *t, int n, IntRelType irt, int c, Reify r, IntConLevel icl)
Post reified propagator for linear constraint.
Definition: int-post.cpp:520
#define GECODE_ES_FAIL(es)
Check whether execution status es is failed, and fail space home.
Definition: macros.hpp:96
#define GECODE_NEVER
Assert that this command is never executed.
Definition: macros.hpp:60

Macro for posting ternary special cases for linear constraints.

Definition at line 198 of file int-post.cpp.