FmonotoneBool::FmonotoneBoolGq< VA, VC > Class Template Reference

Base-class for monotone function boolean propagators. More...

Inheritance diagram for FmonotoneBool::FmonotoneBoolGq< VA, VC >:
Propagator FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >

List of all members.

Public Member Functions

virtual PropCost cost (const Space &home, const ModEventDelta &med) const
 Cost function (defined as low linear).
virtual size_t dispose (Space &home)
 Delete propagator and return its size.
virtual Actor * copy (Space &home, bool share)
 Create copy during cloning.
virtual ExecStatus propagate (Space &home, const ModEventDelta &med)
 Perform propagation.
void eliminate (ViewArray< VA > &v, int &l, int &u)
 Eliminate assigned vars and update bounds.

Static Public Member Functions

static ExecStatus post (Space &home, int X, ViewArray< VA > &x, int l_x, int Y, ViewArray< VA > &y, int l_y, VC c, int precision)
 Post propagator but.

Protected Member Functions

 FmonotoneBoolGq (Space &home, int X, ViewArray< VA > &x, int l_x, int Y, ViewArray< VA > &y, int l_y, VC c, int precision)
 Constructor for creation.
 FmonotoneBoolGq (Space &home, bool share, FmonotoneBoolGq &p)
 Constructor for cloning p.

Protected Attributes

int X
 total class 1
ViewArray< VA > x
 Boolean views class 1.
int l_x
 lower bound class 1 (part from class1 views assigned to 1)
int Y
 total class 2
ViewArray< VA > y
 Boolean views class y.
int l_y
 lower bound class 2 (part from class2 views assigned to 1)
VC c
 Righthandside, the treshold.
int precision
 Precision of treshold-integer conversion (eg. 1000).

Detailed Description

template<class VA, class VC>
class FmonotoneBool::FmonotoneBoolGq< VA, VC >

Base-class for monotone function boolean propagators.

This class NEEDS a global function: monotone_function(int pos_total, int pos, int neg_total, int neg, int precision)

Definition at line 50 of file constraint_Fmonotone.cpp.


Constructor & Destructor Documentation

template<class VA , class VC >
FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq ( Space &  home,
int  X,
ViewArray< VA > &  x,
int  l_x,
int  Y,
ViewArray< VA > &  y,
int  l_y,
VC  c,
int  precision 
) [inline, protected]
template<class VA , class VC >
forceinline FmonotoneBool::FmonotoneBoolGq< VA, VC >::FmonotoneBoolGq ( Space &  home,
bool  share,
FmonotoneBoolGq< VA, VC > &  p 
) [inline, protected]

Member Function Documentation

template<class VA , class VC >
Actor * FmonotoneBool::FmonotoneBoolGq< VA, VC >::copy ( Space &  home,
bool  share 
) [inline, virtual]

Create copy during cloning.

Reimplemented in FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >.

Definition at line 139 of file constraint_Fmonotone.cpp.

template<class VA , class VC >
PropCost FmonotoneBool::FmonotoneBoolGq< VA, VC >::cost ( const Space &  home,
const ModEventDelta &  med 
) const [inline, virtual]

Cost function (defined as low linear).

Definition at line 124 of file constraint_Fmonotone.cpp.

References FmonotoneBool::FmonotoneBoolGq< VA, VC >::x.

template<class VA , class VC >
forceinline size_t FmonotoneBool::FmonotoneBoolGq< VA, VC >::dispose ( Space &  home  )  [inline, virtual]
template<class VA , class VC >
void FmonotoneBool::FmonotoneBoolGq< VA, VC >::eliminate ( ViewArray< VA > &  v,
int &  l,
int &  u 
) [inline]

Eliminate assigned vars and update bounds.

Definition at line 169 of file constraint_Fmonotone.cpp.

Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().

template<class VA , class VC >
ExecStatus FmonotoneBool::FmonotoneBoolGq< VA, VC >::post ( Space &  home,
int  X,
ViewArray< VA > &  x,
int  l_x,
int  Y,
ViewArray< VA > &  y,
int  l_y,
VC  c,
int  precision 
) [inline, static]

Post propagator but.

Definition at line 130 of file constraint_Fmonotone.cpp.

template<class VA , class VC >
ExecStatus FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate ( Space &  home,
const ModEventDelta &  med 
) [inline, virtual]

Member Data Documentation

template<class VA, class VC>
VC FmonotoneBool::FmonotoneBoolGq< VA, VC >::c [protected]
template<class VA, class VC>
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::l_x [protected]

lower bound class 1 (part from class1 views assigned to 1)

Definition at line 57 of file constraint_Fmonotone.cpp.

Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().

template<class VA, class VC>
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::l_y [protected]

lower bound class 2 (part from class2 views assigned to 1)

Definition at line 63 of file constraint_Fmonotone.cpp.

Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().

template<class VA, class VC>
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::precision [protected]

Precision of treshold-integer conversion (eg. 1000).

Definition at line 67 of file constraint_Fmonotone.cpp.

Referenced by FmonotoneBool::ImplyFmonotoneBoolGq< VA, VC >::propagate(), and FmonotoneBool::FmonotoneBoolGq< VA, VC >::propagate().

template<class VA, class VC>
ViewArray<VA> FmonotoneBool::FmonotoneBoolGq< VA, VC >::x [protected]
template<class VA, class VC>
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::X [protected]
template<class VA, class VC>
ViewArray<VA> FmonotoneBool::FmonotoneBoolGq< VA, VC >::y [protected]
template<class VA, class VC>
int FmonotoneBool::FmonotoneBoolGq< VA, VC >::Y [protected]

The documentation for this class was generated from the following file:
Generated on Sat Nov 12 12:59:31 2011 for FIM_CP+CIMCP by  doxygen 1.6.3