Gecode::Int::Arithmetic Namespace Reference
Detailed Description
Numerical (arithmetic) propagators.
Classes | |
class | AbsBnd |
Bounds-consistent absolute value propagator. More... | |
class | AbsDom |
Domain-consistent absolute value propagator. More... | |
class | Max |
Bounds-consistent ternary maximum propagator. More... | |
class | NaryMax |
Bounds-consistent n-ary maximum propagator. More... | |
class | SqrPlus |
Bounds-consistent positive square propagator. More... | |
class | Sqr |
Bounds-consistent square propagator. More... | |
class | Sqrt |
Bounds-consistent square root propagator. More... | |
class | MultZeroOne |
Bounds-consistent propagator for ![]() | |
class | MultPlus |
Bounds-consistent positive multiplication propagator. More... | |
class | Mult |
Bounds-consistent multiplication propagator. More... | |
Enumerations | |
enum | MaxPropStatus { MPS_ASSIGNED = 1<<0, MPS_REMOVED = 1<<1, MPS_NEW_BOUND = 1<<2 } |
Status of propagation for nary max. More... | |
Functions | |
template<class View, template< class View0, class View1 > class Eq> | |
ExecStatus | prop_bnd (Space *home, Propagator *p, View x0, View x1) |
template<class Val> | |
Val | m (int x, int y) |
Multiply x and y as type Val. | |
template<class Val> | |
int | c_d_p (int x, int y) |
Compute ![]() | |
template<class Val> | |
int | f_d_p (int x, int y) |
Compute ![]() | |
template<> | |
int | c_d_p< int > (int x, int y) |
template<> | |
int | c_d_p< double > (int x, int y) |
template<> | |
int | f_d_p< int > (int x, int y) |
template<> | |
int | f_d_p< double > (int x, int y) |
int | f_d (int x, int y) |
Compute ![]() | |
int | c_d (int x, int y) |
Compute ![]() | |
template<class View> | |
bool | p (const View &x) |
Test whether x is postive. | |
template<class View> | |
bool | n (const View &x) |
Test whether x is negative. | |
template<class View> | |
bool | x (const View &x) |
Test whether x is neither positive nor negative. | |
template<class View> | |
ExecStatus | prop_bnd (Space *home, Propagator *p, ViewArray< View > &) |
Perform bounds-consistent absolute value propagation. |
Enumeration Type Documentation
Function Documentation
template<class View, template< class View0, class View1 > class Eq>
ExecStatus Gecode::Int::Arithmetic::prop_bnd | ( | Space * | home, | |
Propagator * | p, | |||
View | x0, | |||
View | x1 | |||
) | [inline] |
template<class Val>
int Gecode::Int::Arithmetic::m | ( | int | x, | |
int | y | |||
) | [inline] |
template<class Val>
int Gecode::Int::Arithmetic::c_d_p | ( | int | x, | |
int | y | |||
) | [inline] |
Compute where x and y are non-negative.
template<class Val>
int Gecode::Int::Arithmetic::f_d_p | ( | int | x, | |
int | y | |||
) | [inline] |
Compute where x and y are non-negative.
template<>
int Gecode::Int::Arithmetic::c_d_p< int > | ( | int | x, | |
int | y | |||
) | [inline] |
template<>
int Gecode::Int::Arithmetic::c_d_p< double > | ( | int | x, | |
int | y | |||
) | [inline] |
template<>
int Gecode::Int::Arithmetic::f_d_p< int > | ( | int | x, | |
int | y | |||
) | [inline] |
template<>
int Gecode::Int::Arithmetic::f_d_p< double > | ( | int | x, | |
int | y | |||
) | [inline] |
int Gecode::Int::Arithmetic::f_d | ( | int | x, | |
int | y | |||
) | [inline] |
int Gecode::Int::Arithmetic::c_d | ( | int | x, | |
int | y | |||
) | [inline] |
template<class View>
bool Gecode::Int::Arithmetic::p | ( | const View & | x | ) | [inline] |
template<class View>
bool Gecode::Int::Arithmetic::n | ( | const View & | x | ) | [inline] |
template<class View>
bool Gecode::Int::Arithmetic::x | ( | const View & | x | ) | [inline] |
template<class View>
ExecStatus Gecode::Int::Arithmetic::prop_bnd | ( | Space * | home, | |
Propagator * | p, | |||
ViewArray< View > & | ||||
) | [inline] |
Perform bounds-consistent absolute value propagation.
This is actually the propagation algorithm for AbsBnd. It is available as separate function as it is reused for domain-consistent distinct propagators.