Generated on Fri Mar 20 12:35:19 2009 for cpsp-2.3.1 by doxygen 1.5.5

cpsp::gecode::GC_Neighbored3 Class Reference

#include <old_GC_Neighbored3.hh>


Detailed Description

Definition at line 20 of file old_GC_Neighbored3.hh.


Public Member Functions

virtual Gecode::Actor * copy (Gecode::Space *home, bool share)
virtual Gecode::PropCost cost (void) const
virtual Gecode::ExecStatus propagate (Gecode::Space *home)

Static Public Member Functions

static Gecode::ExecStatus post (Gecode::Space *home, Gecode::Int::IntView x0, Gecode::Int::IntView x1, Gecode::Int::IntView x2, const biu::LatticeFrame *lattice, Gecode::IntConLevel conLvl=Gecode::ICL_BND, unsigned int maxPrSize=MAXPROPSIZEINIT, bool maxPrSizeBin=false, unsigned int minPrSize=0)

Protected Member Functions

 GC_Neighbored3 (Gecode::Space *home, Gecode::Int::IntView x0, Gecode::Int::IntView x1, Gecode::Int::IntView x2, const biu::LatticeFrame *lattice, Gecode::IntConLevel conLvl, unsigned int maxPrSize, bool maxPrSizeBin, unsigned int minPrSize)
 GC_Neighbored3 (Gecode::Space *home, bool share, GC_Neighbored3 &p)

Protected Attributes

Gecode::IntConLevel conLevel
const biu::LatticeFrame * lattice
unsigned int maxPropSize
bool maxPropSizeBin
unsigned int minPropSize
biu::IndexVec neighborhood

Private Member Functions

biu::IndexSet getIndexedNeighbors (const biu::LatticeFrame::index_type center) const
Gecode::ModEvent removeNonNeighbors (Gecode::Space *home, Gecode::Int::IntView &a, Gecode::Int::IntView &b, Gecode::Int::IntView &c)
Gecode::ModEvent removeNonNeighbors (Gecode::Space *home, Gecode::Int::IntView &a, Gecode::Int::IntView &b)
Gecode::ModEvent removeNonNeighbors (Gecode::Space *home, Gecode::Int::IntView &x, int center)

Static Private Attributes

static const unsigned int MAXPROPSIZEINIT = 50

Constructor & Destructor Documentation

cpsp::gecode::GC_Neighbored3::GC_Neighbored3 ( Gecode::Space *  home,
bool  share,
GC_Neighbored3 p 
) [protected]

Constructor for cloning p.

Definition at line 59 of file old_GC_Neighbored3.cc.

cpsp::gecode::GC_Neighbored3::GC_Neighbored3 ( Gecode::Space *  home,
Gecode::Int::IntView  x0,
Gecode::Int::IntView  x1,
Gecode::Int::IntView  x2,
const biu::LatticeFrame *  lattice,
Gecode::IntConLevel  conLvl,
unsigned int  maxPrSize,
bool  maxPrSizeBin,
unsigned int  minPrSize 
) [protected]

Constructor for posting p.

Definition at line 33 of file old_GC_Neighbored3.cc.


Member Function Documentation

Gecode::Actor * cpsp::gecode::GC_Neighbored3::copy ( Gecode::Space *  home,
bool  share 
) [virtual]

Copy propagator during cloning.

Definition at line 92 of file old_GC_Neighbored3.cc.

Gecode::PropCost cpsp::gecode::GC_Neighbored3::cost ( void   )  const [virtual]

Cost function.

Definition at line 114 of file old_GC_Neighbored3.cc.

biu::IndexSet cpsp::gecode::GC_Neighbored3::getIndexedNeighbors ( const biu::LatticeFrame::index_type  center  )  const [private]

Returns the indices of all neighbored points of center. The center should not be in the border of the lattice frame, otherwise it will generate indices that are not inside the frame.

Parameters:
center has to be inside the frame and no border point of the frame

Definition at line 182 of file old_GC_Neighbored3.cc.

Gecode::ExecStatus cpsp::gecode::GC_Neighbored3::post ( Gecode::Space *  home,
Gecode::Int::IntView  x0,
Gecode::Int::IntView  x1,
Gecode::Int::IntView  x2,
const biu::LatticeFrame *  lattice,
Gecode::IntConLevel  conLvl = Gecode::ICL_BND,
unsigned int  maxPrSize = MAXPROPSIZEINIT,
bool  maxPrSizeBin = false,
unsigned int  minPrSize = 0 
) [static]

post a trinary neighbor constraint

Definition at line 72 of file old_GC_Neighbored3.cc.

Gecode::ExecStatus cpsp::gecode::GC_Neighbored3::propagate ( Gecode::Space *  home  )  [virtual]

Perform propagation.

Definition at line 122 of file old_GC_Neighbored3.cc.

Gecode::ModEvent cpsp::gecode::GC_Neighbored3::removeNonNeighbors ( Gecode::Space *  home,
Gecode::Int::IntView &  a,
Gecode::Int::IntView &  b,
Gecode::Int::IntView &  c 
) [private]

Forces a,b,c to be a selfavoiding walk of length 3.

Definition at line 281 of file old_GC_Neighbored3.cc.

Gecode::ModEvent cpsp::gecode::GC_Neighbored3::removeNonNeighbors ( Gecode::Space *  home,
Gecode::Int::IntView &  a,
Gecode::Int::IntView &  b 
) [private]

Removes all elements from a/b that are not neighbored to an element in b/a.

Definition at line 207 of file old_GC_Neighbored3.cc.

Gecode::ModEvent cpsp::gecode::GC_Neighbored3::removeNonNeighbors ( Gecode::Space *  home,
Gecode::Int::IntView &  x,
int  center 
) [private]

Removes all elements from x that are not neighbored to center.

Definition at line 196 of file old_GC_Neighbored3.cc.


Field Documentation

Gecode::IntConLevel cpsp::gecode::GC_Neighbored3::conLevel [protected]

Consistency level for neighbor propagation. ICL_VAL = only if one domain is bound ICL_BND = only propagating if one domain size is lower than maxPropSize ICL_DOM = full propagation

Definition at line 69 of file old_GC_Neighbored3.hh.

const biu::LatticeFrame* cpsp::gecode::GC_Neighbored3::lattice [protected]

The underlying lattice model used to check the neighbor constraint.

Definition at line 60 of file old_GC_Neighbored3.hh.

the maximal size for the minimal domain so that the neighbor constraint is propagated

Definition at line 73 of file old_GC_Neighbored3.hh.

if true, two successive domains have to be smaller or equal than maxPropSize so that the neighbor constraint is propagated

Definition at line 77 of file old_GC_Neighbored3.hh.

const unsigned int cpsp::gecode::GC_Neighbored3::MAXPROPSIZEINIT = 50 [static, private]

the initial maxPropSize value

Definition at line 50 of file old_GC_Neighbored3.hh.

the minimal size for the maximal domain so that the neighbor constraint is propagated

Definition at line 81 of file old_GC_Neighbored3.hh.

biu::IndexVec cpsp::gecode::GC_Neighbored3::neighborhood [protected]

the indexed neighborhood of lattice for fast access

Definition at line 63 of file old_GC_Neighbored3.hh.


The documentation for this class was generated from the following files: