Gecode::Int::Arithmetic Namespace Reference
Detailed Description
Numerical (arithmetic) propagators.
Classes | |
class | ValuesMapSqr |
Mapping integer to square. More... | |
class | ValuesMapSqrt |
Mapping integer to square root. More... | |
class | RangesMapSqr |
Mapping ranges to squares. More... | |
class | RangesMapSqrt |
Mapping integer to square root. More... | |
class | AbsBnd |
Bounds consistent absolute value propagator. More... | |
class | AbsDom |
Domain consistent absolute value propagator. More... | |
class | MaxBnd |
Bounds consistent ternary maximum propagator. More... | |
class | NaryMaxBnd |
Bounds consistent n-ary maximum propagator. More... | |
class | MaxDom |
Domain consistent ternary maximum propagator. More... | |
class | NaryMaxDom |
Domain consistent n-ary maximum propagator. More... | |
class | SqrPlusBnd |
Bounds consistent positive square propagator. More... | |
class | SqrBnd |
Bounds consistent square propagator. More... | |
class | SqrPlusDom |
Domain consistent positive square propagator. More... | |
class | SqrDom |
Domain consistent square propagator. More... | |
class | SqrtBnd |
Bounds consistent square root propagator. More... | |
class | SqrtDom |
Domain consistent square root propagator. More... | |
class | MultZeroOne |
Bounds or domain consistent propagator for . More... | |
class | MultPlusBnd |
Bounds consistent positive multiplication propagator. More... | |
class | MultBnd |
Bounds consistent multiplication propagator. More... | |
class | MultPlusDom |
Domain consistent positive multiplication propagator. More... | |
class | MultDom |
Domain consistent multiplication propagator. More... | |
class | DivPlusBnd |
Bounds consistent positive division propagator. More... | |
class | DivBnd |
Bounds consistent division propagator. More... | |
class | DivMod |
Integer division/modulo 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_abs_bnd (Space *home, Propagator *p, View x0, View x1) |
template<class Val, class VA, class VB, class VC, bool towardsMinInf> | |
ExecStatus | prop_div_plus_bnd (Space *home, Propagator *p, VA x0, VB x1, VC x2) |
template<class View> | |
ExecStatus | prop_max_bnd (Space *home, View x0, View x1, View x2) |
template<class View> | |
ExecStatus | prop_nary_max_bnd (Space *home, Propagator *p, ViewArray< View > &x, View y, PropCond pc) |
template<class Val> | |
Val | m (int x, int y) |
Multiply x and y as type Val. | |
template<class Val> | |
Val | m (int x, double y) |
Multiply x and y as type Val. | |
template<class Val> | |
int | c_d_p (int x, Val y) |
Compute where x and y are non-negative. | |
template<class Val> | |
int | f_d_p (int x, Val y) |
Compute where x and y are non-negative. | |
template<> | |
int | c_d_p< int > (int x, int y) |
template<> | |
int | c_d_p< double > (int x, double y) |
template<> | |
int | f_d_p< int > (int x, int y) |
template<> | |
int | f_d_p< double > (int x, double y) |
int | f_d (int x, int y) |
Compute . | |
int | c_d (int x, int y) |
Compute . | |
template<class View> | |
bool | pos (const View &x) |
Test whether x is postive. | |
template<class View> | |
bool | neg (const View &x) |
Test whether x is negative. | |
template<class View> | |
bool | any (const View &x) |
Test whether x is neither positive nor negative. | |
template<class Val, class VA, class VB, class VC> | |
ExecStatus | prop_mult_plus_bnd (Space *home, Propagator *p, VA x0, VB x1, VC x2) |
template<class Val, class View> | |
ExecStatus | prop_mult_dom (Space *home, Propagator *p, View x0, View x1, View x2) |
template<class VA, class VB> | |
ExecStatus | prop_sqr_plus_bnd (Space *home, VA x0, VB x1) |
template<class View> | |
ExecStatus | prop_sqrt_bnd (Space *home, View x0, View x1) |
Enumeration Type Documentation
Function Documentation
template<class View, template< class View0, class View1 > class Eq>
ExecStatus Gecode::Int::Arithmetic::prop_abs_bnd | ( | Space * | home, | |
Propagator * | p, | |||
View | x0, | |||
View | x1 | |||
) | [inline] |
template<class Val, class VA, class VB, class VC, bool towardsMinInf>
ExecStatus Gecode::Int::Arithmetic::prop_div_plus_bnd | ( | Space * | home, | |
Propagator * | p, | |||
VA | x0, | |||
VB | x1, | |||
VC | x2 | |||
) | [inline] |
Definition at line 48 of file divmod.icc.
template<class View>
ExecStatus Gecode::Int::Arithmetic::prop_max_bnd | ( | Space * | home, | |
View | x0, | |||
View | x1, | |||
View | x2 | |||
) | [inline] |
template<class View>
ExecStatus Gecode::Int::Arithmetic::prop_nary_max_bnd | ( | Space * | home, | |
Propagator * | p, | |||
ViewArray< View > & | x, | |||
View | y, | |||
PropCond | pc | |||
) | [inline] |
template<class Val>
int Gecode::Int::Arithmetic::m | ( | int | x, | |
int | y | |||
) | [inline] |
template<class Val>
double Gecode::Int::Arithmetic::m | ( | int | x, | |
double | y | |||
) | [inline] |
template<class Val>
int Gecode::Int::Arithmetic::c_d_p | ( | int | x, | |
Val | y | |||
) | [inline] |
Compute where x and y are non-negative.
template<class Val>
int Gecode::Int::Arithmetic::f_d_p | ( | int | x, | |
Val | 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, | |
double | 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, | |
double | 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::pos | ( | const View & | x | ) | [inline] |
template<class View>
bool Gecode::Int::Arithmetic::neg | ( | const View & | x | ) | [inline] |
template<class View>
bool Gecode::Int::Arithmetic::any | ( | const View & | x | ) | [inline] |
template<class Val, class VA, class VB, class VC>
ExecStatus Gecode::Int::Arithmetic::prop_mult_plus_bnd | ( | Space * | home, | |
Propagator * | p, | |||
VA | x0, | |||
VB | x1, | |||
VC | x2 | |||
) | [inline] |
template<class Val, class View>
ExecStatus Gecode::Int::Arithmetic::prop_mult_dom | ( | Space * | home, | |
Propagator * | p, | |||
View | x0, | |||
View | x1, | |||
View | x2 | |||
) | [inline] |
template<class VA, class VB>
ExecStatus Gecode::Int::Arithmetic::prop_sqr_plus_bnd | ( | Space * | home, | |
VA | x0, | |||
VB | x1 | |||
) | [inline] |
template<class View>
ExecStatus Gecode::Int::Arithmetic::prop_sqrt_bnd | ( | Space * | home, | |
View | x0, | |||
View | x1 | |||
) | [inline] |