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 | SquarePlus |
Bounds-consistent positive square propagator. More... | |
class | Square |
Bounds-consistent square propagator. More... | |
class | MultPlus |
Bounds-consistent positive multiplication propagator. More... | |
class | Mult |
Bounds-consistent multiplication propagator. More... | |
Functions | |
template<class View, template< class View0, class View1 > class Eq> | |
ExecStatus | prop_bnd (Space *home, View x0, View x1) |
double | m (int a, int b) |
Multiply a and b as double. | |
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, ViewArray< View > &) |
Perform bounds-consistent absolute value propagation. |
Function Documentation
template<class View, template< class View0, class View1 > class Eq>
ExecStatus Gecode::Int::Arithmetic::prop_bnd | ( | Space * | home, | |
View | x0, | |||
View | x1 | |||
) |
double Gecode::Int::Arithmetic::m | ( | int | a, | |
int | b | |||
) | [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, | |
ViewArray< View > & | ||||
) |
Perform bounds-consistent absolute value propagation.
This is actually the propagation algorithm for Distinct::Bnd. It is available as separate function as it is reused for both bounds-consistent and domain-consistent distinct propagators.