Generated on Thu Jul 6 07:07:01 2006 for Gecode by doxygen 1.4.7

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 $\lfloor x/y\rfloor$.
int c_d (int x, int y)
 Compute $\lceil x/y\rceil$.
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 
)

Definition at line 31 of file abs.icc.

double Gecode::Int::Arithmetic::m ( int  a,
int  b 
) [inline]

Multiply a and b as double.

Definition at line 33 of file mult.icc.

int Gecode::Int::Arithmetic::f_d ( int  x,
int  y 
) [inline]

Compute $\lfloor x/y\rfloor$.

Definition at line 39 of file mult.icc.

int Gecode::Int::Arithmetic::c_d ( int  x,
int  y 
) [inline]

Compute $\lceil x/y\rceil$.

Definition at line 46 of file mult.icc.

template<class View>
bool Gecode::Int::Arithmetic::p ( const View &  x  )  [inline]

Test whether x is postive.

Definition at line 54 of file mult.icc.

template<class View>
bool Gecode::Int::Arithmetic::n ( const View &  x  )  [inline]

Test whether x is negative.

Definition at line 60 of file mult.icc.

template<class View>
bool Gecode::Int::Arithmetic::x ( const View &  x  )  [inline]

Test whether x is neither positive nor negative.

Definition at line 66 of file mult.icc.

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.

Definition at line 154 of file bnd.icc.