Generated on Mon Aug 25 11:35:54 2008 for Gecode by doxygen 1.5.6

Test::Int::Test Class Reference
[General test support]

#include <int.hh>

Inherits Test::Base.

Inherited by Test::Int::Arithmetic::AbsXX, Test::Int::Arithmetic::AbsXY, Test::Int::Arithmetic::Div, Test::Int::Arithmetic::DivMod, Test::Int::Arithmetic::MaxNary, Test::Int::Arithmetic::MaxNaryShared, Test::Int::Arithmetic::MaxXXX, Test::Int::Arithmetic::MaxXXY, Test::Int::Arithmetic::MaxXYX, Test::Int::Arithmetic::MaxXYY, Test::Int::Arithmetic::MaxXYZ, Test::Int::Arithmetic::MinNary, Test::Int::Arithmetic::MinNaryShared, Test::Int::Arithmetic::MinXXX, Test::Int::Arithmetic::MinXXY, Test::Int::Arithmetic::MinXYX, Test::Int::Arithmetic::MinXYY, Test::Int::Arithmetic::MinXYZ, Test::Int::Arithmetic::Mod, Test::Int::Arithmetic::MultXXX, Test::Int::Arithmetic::MultXXY, Test::Int::Arithmetic::MultXYX, Test::Int::Arithmetic::MultXYY, Test::Int::Arithmetic::MultXYZ, Test::Int::Arithmetic::SqrtXX, Test::Int::Arithmetic::SqrtXY, Test::Int::Arithmetic::SqrXX, Test::Int::Arithmetic::SqrXY, Test::Int::Basic::Basic, Test::Int::Bool::BinConstXX, Test::Int::Bool::BinConstXY, Test::Int::Bool::BinXXX, Test::Int::Bool::BinXXY, Test::Int::Bool::BinXYX, Test::Int::Bool::BinXYY, Test::Int::Bool::BinXYZ, Test::Int::Bool::Nary, Test::Int::Bool::NaryConst, Test::Int::Bool::NaryShared, Test::Int::Channel::ChannelFull, Test::Int::Channel::ChannelHalf, Test::Int::Channel::ChannelLinkMulti, Test::Int::Channel::ChannelLinkSingle, Test::Int::Channel::ChannelShared, Test::Int::Circuit::Circuit, Test::Int::Count::IntArrayInt, Test::Int::Count::IntArrayVar, Test::Int::Count::IntInt, Test::Int::Count::IntIntDup, Test::Int::Count::IntVar, Test::Int::Count::IntVarShared, Test::Int::Count::VarInt, Test::Int::Count::VarVar, Test::Int::Count::VarVarSharedA, Test::Int::Count::VarVarSharedB, Test::Int::Count::VarVarSharedC, Test::Int::Distinct::Distinct< useCount >, Test::Int::Distinct::Offset, Test::Int::Distinct::Random, Test::Int::Dom::DomDom, Test::Int::Dom::DomRange, Test::Int::Element::IntBoolInt, Test::Int::Element::IntBoolVar, Test::Int::Element::IntIntInt, Test::Int::Element::IntIntShared, Test::Int::Element::IntIntVar, Test::Int::Element::VarBoolInt, Test::Int::Element::VarBoolVar, Test::Int::Element::VarIntInt, Test::Int::Element::VarIntShared, Test::Int::Element::VarIntVar, Test::Int::Extensional::RegDistinct, Test::Int::Extensional::RegEmptyDFA, Test::Int::Extensional::RegEmptyREG, Test::Int::Extensional::RegSharedA, Test::Int::Extensional::RegSharedB, Test::Int::Extensional::RegSharedC, Test::Int::Extensional::RegSharedD, Test::Int::Extensional::RegSimpleA, Test::Int::Extensional::RegSimpleB, Test::Int::Extensional::RegSimpleC, Test::Int::Extensional::TupleSetA, Test::Int::Extensional::TupleSetB, Test::Int::Extensional::TupleSetBool, Test::Int::GCC::IntAllMax, Test::Int::GCC::IntAllMinMax, Test::Int::GCC::IntAllMinMaxDef, Test::Int::GCC::IntSome< hole >, Test::Int::GCC::VarAll, Test::Int::GCC::VarSome, Test::Int::Linear::BoolInt, Test::Int::Linear::BoolVar, Test::Int::Linear::IntInt, Test::Int::Linear::IntVar, Test::Int::MiniModel::BoolLex, Test::Int::MiniModel::IntLex, Test::Int::MiniModelArithmetic::Abs, Test::Int::MiniModelArithmetic::Max, Test::Int::MiniModelArithmetic::MaxNary, Test::Int::MiniModelArithmetic::Min, Test::Int::MiniModelArithmetic::MinNary, Test::Int::MiniModelArithmetic::Minus, Test::Int::MiniModelArithmetic::Mult, Test::Int::MiniModelArithmetic::Plus, Test::Int::MiniModelArithmetic::Sqr, Test::Int::MiniModelArithmetic::Sqrt, Test::Int::MiniModelBoolean::BoolExprInt, Test::Int::MiniModelBoolean::BoolExprVar, Test::Int::MiniModelCount::IntArrayInt, Test::Int::MiniModelCount::IntArrayVar, Test::Int::MiniModelCount::IntInt, Test::Int::MiniModelCount::IntVar, Test::Int::MiniModelCount::VarInt, Test::Int::MiniModelCount::VarVar, Test::Int::MiniModelLin::LinExprBool, Test::Int::MiniModelLin::LinExprInt, Test::Int::MiniModelLin::LinRelBool, Test::Int::MiniModelLin::LinRelInt, Test::Int::Rel::BoolArray, Test::Int::Rel::BoolInt, Test::Int::Rel::BoolPairwise, Test::Int::Rel::BoolVarXX, Test::Int::Rel::BoolVarXY, Test::Int::Rel::IntArray, Test::Int::Rel::IntInt, Test::Int::Rel::IntPairwise, Test::Int::Rel::IntVarXX, Test::Int::Rel::IntVarXY, Test::Int::Scheduling::Cumulatives, Test::Int::Sorted::NoVar, Test::Int::Sorted::PermVar, Test::Int::Unshare::Bool, and Test::Int::Unshare::Int.

List of all members.


Detailed Description

Base class for tests with integer constraints.

Definition at line 123 of file int.hh.


Mapping scalar values to strings

static std::string str (Gecode::PropKind pk)
 Map propagation kind to string.
static std::string str (Gecode::IntConLevel icl)
 Map integer consistency level to string.
static std::string str (Gecode::IntRelType pk)
 Map integer relation to string.
static std::string str (Gecode::BoolOpType bot)
 Map Boolean operation to string.
static std::string str (int i)
 Map integer to string.

General support

template<class T>
static bool cmp (T x, Gecode::IntRelType r, T y)
 Compare x and y with respect to r.

Public Member Functions

 Test (const std::string &s, int a, const Gecode::IntSet &d, bool r=false, Gecode::IntConLevel i=Gecode::ICL_DEF, Gecode::PropKind p=Gecode::PK_DEF)
 Constructor.
 Test (const std::string &s, int a, int min, int max, bool r=false, Gecode::IntConLevel i=Gecode::ICL_DEF, Gecode::PropKind p=Gecode::PK_DEF)
 Constructor.
virtual Assignmentassignment (void) const
 Create assignment.
virtual bool solution (const Assignment &) const =0
 Check for solution.
virtual bool ignore (const Assignment &) const
 Whether to ignore assignment for reification.
virtual void post (Gecode::Space *home, Gecode::IntVarArray &x)=0
 Post constraint.
virtual void post (Gecode::Space *home, Gecode::IntVarArray &x, Gecode::BoolVar b)
 Post reified constraint.
virtual bool run (void)
 Perform test.

Protected Attributes

int arity
 Number of variables.
Gecode::IntSet dom
 Domain of variables.
bool reified
 Does the constraint also exist as reified constraint.
Gecode::IntConLevel icl
 Consistency level.
Gecode::PropKind pk
 Propagation kind.
bool testdomcon
 Whether to test for domain consistency.
bool testsearch
 Whether to perform search test.

Constructor & Destructor Documentation

Test::Int::Test::Test ( const std::string &  s,
int  a,
const Gecode::IntSet d,
bool  r = false,
Gecode::IntConLevel  i = Gecode::ICL_DEF,
Gecode::PropKind  p = Gecode::PK_DEF 
)

Constructor.

Constructs a test with name s and arity a and variable domain d. Also tests for a reified constraint, if r is true. Consistency level and propagation kind are maintained for convenience.

Test::Int::Test::Test ( const std::string &  s,
int  a,
int  min,
int  max,
bool  r = false,
Gecode::IntConLevel  i = Gecode::ICL_DEF,
Gecode::PropKind  p = Gecode::PK_DEF 
)

Constructor.

Constructs a test with name s and arity a and variable domain min ... max. Also tests for a reified constraint, if r is true. Consistency level and propagation kind are maintained for convenience.


Member Function Documentation

virtual Assignment* Test::Int::Test::assignment ( void   )  const [virtual]

Create assignment.

Reimplemented in Test::Int::Distinct::Random, and Test::Int::Scheduling::Cumulatives.

virtual bool Test::Int::Test::solution ( const Assignment  )  const [pure virtual]

Check for solution.

Implemented in Test::Int::Arithmetic::MultXYZ, Test::Int::Arithmetic::MultXXY, Test::Int::Arithmetic::MultXYX, Test::Int::Arithmetic::MultXYY, Test::Int::Arithmetic::MultXXX, Test::Int::Arithmetic::SqrXY, Test::Int::Arithmetic::SqrXX, Test::Int::Arithmetic::SqrtXY, Test::Int::Arithmetic::SqrtXX, Test::Int::Arithmetic::DivMod, Test::Int::Arithmetic::Div, Test::Int::Arithmetic::Mod, Test::Int::Arithmetic::AbsXY, Test::Int::Arithmetic::AbsXX, Test::Int::Arithmetic::MinXYZ, Test::Int::Arithmetic::MinXXY, Test::Int::Arithmetic::MinXYX, Test::Int::Arithmetic::MinXYY, Test::Int::Arithmetic::MinXXX, Test::Int::Arithmetic::MaxXYZ, Test::Int::Arithmetic::MaxXXY, Test::Int::Arithmetic::MaxXYX, Test::Int::Arithmetic::MaxXYY, Test::Int::Arithmetic::MaxXXX, Test::Int::Arithmetic::MinNary, Test::Int::Arithmetic::MinNaryShared, Test::Int::Arithmetic::MaxNary, Test::Int::Arithmetic::MaxNaryShared, Test::Int::Basic::Basic, Test::Int::Bool::BinXYZ, Test::Int::Bool::BinXXY, Test::Int::Bool::BinXYX, Test::Int::Bool::BinXYY, Test::Int::Bool::BinXXX, Test::Int::Bool::BinConstXY, Test::Int::Bool::BinConstXX, Test::Int::Bool::Nary, Test::Int::Bool::NaryShared, Test::Int::Bool::NaryConst, Test::Int::Channel::ChannelFull, Test::Int::Channel::ChannelHalf, Test::Int::Channel::ChannelShared, Test::Int::Channel::ChannelLinkSingle, Test::Int::Channel::ChannelLinkMulti, Test::Int::Circuit::Circuit, Test::Int::Count::IntInt, Test::Int::Count::IntIntDup, Test::Int::Count::IntVar, Test::Int::Count::IntArrayInt, Test::Int::Count::IntArrayVar, Test::Int::Count::IntVarShared, Test::Int::Count::VarVar, Test::Int::Count::VarInt, Test::Int::Count::VarVarSharedA, Test::Int::Count::VarVarSharedB, Test::Int::Count::VarVarSharedC, Test::Int::Distinct::Distinct< useCount >, Test::Int::Distinct::Offset, Test::Int::Distinct::Random, Test::Int::Dom::DomRange, Test::Int::Dom::DomDom, Test::Int::Element::IntIntVar, Test::Int::Element::IntIntInt, Test::Int::Element::IntIntShared, Test::Int::Element::IntBoolVar, Test::Int::Element::IntBoolInt, Test::Int::Element::VarIntVar, Test::Int::Element::VarIntInt, Test::Int::Element::VarIntShared, Test::Int::Element::VarBoolVar, Test::Int::Element::VarBoolInt, Test::Int::Extensional::RegSimpleA, Test::Int::Extensional::RegSimpleB, Test::Int::Extensional::RegSimpleC, Test::Int::Extensional::RegDistinct, Test::Int::Extensional::RegSharedA, Test::Int::Extensional::RegSharedB, Test::Int::Extensional::RegSharedC, Test::Int::Extensional::RegSharedD, Test::Int::Extensional::RegEmptyDFA, Test::Int::Extensional::RegEmptyREG, Test::Int::Extensional::TupleSetA, Test::Int::Extensional::TupleSetB, Test::Int::Extensional::TupleSetBool, Test::Int::GCC::IntAllMinMax, Test::Int::GCC::IntAllMinMaxDef, Test::Int::GCC::IntAllMax, Test::Int::GCC::IntSome< hole >, Test::Int::GCC::VarAll, Test::Int::GCC::VarSome, Test::Int::Linear::IntInt, Test::Int::Linear::IntVar, Test::Int::Linear::BoolInt, Test::Int::Linear::BoolVar, Test::Int::MiniModelArithmetic::Mult, Test::Int::MiniModelArithmetic::Plus, Test::Int::MiniModelArithmetic::Minus, Test::Int::MiniModelArithmetic::Sqr, Test::Int::MiniModelArithmetic::Sqrt, Test::Int::MiniModelArithmetic::Abs, Test::Int::MiniModelArithmetic::Min, Test::Int::MiniModelArithmetic::Max, Test::Int::MiniModelArithmetic::MinNary, Test::Int::MiniModelArithmetic::MaxNary, Test::Int::MiniModelBoolean::BoolExprInt, Test::Int::MiniModelBoolean::BoolExprVar, Test::Int::MiniModelCount::IntInt, Test::Int::MiniModelCount::IntVar, Test::Int::MiniModelCount::VarVar, Test::Int::MiniModelCount::VarInt, Test::Int::MiniModelCount::IntArrayInt, Test::Int::MiniModelCount::IntArrayVar, Test::Int::MiniModelLin::LinExprInt, Test::Int::MiniModelLin::LinRelInt, Test::Int::MiniModelLin::LinExprBool, Test::Int::MiniModelLin::LinRelBool, Test::Int::MiniModel::IntLex, Test::Int::MiniModel::BoolLex, Test::Int::Rel::IntVarXY, Test::Int::Rel::IntVarXX, Test::Int::Rel::BoolVarXY, Test::Int::Rel::BoolVarXX, Test::Int::Rel::IntInt, Test::Int::Rel::BoolInt, Test::Int::Rel::IntPairwise, Test::Int::Rel::BoolPairwise, Test::Int::Rel::IntArray, Test::Int::Rel::BoolArray, Test::Int::Scheduling::Cumulatives, Test::Int::Sorted::NoVar, Test::Int::Sorted::PermVar, Test::Int::Unshare::Int, and Test::Int::Unshare::Bool.

virtual bool Test::Int::Test::ignore ( const Assignment  )  const [virtual]

Whether to ignore assignment for reification.

Reimplemented in Test::Int::Linear::BoolVar.

virtual void Test::Int::Test::post ( Gecode::Space home,
Gecode::IntVarArray x 
) [pure virtual]

Post constraint.

Implemented in Test::Int::Arithmetic::MultXYZ, Test::Int::Arithmetic::MultXXY, Test::Int::Arithmetic::MultXYX, Test::Int::Arithmetic::MultXYY, Test::Int::Arithmetic::MultXXX, Test::Int::Arithmetic::SqrXY, Test::Int::Arithmetic::SqrXX, Test::Int::Arithmetic::SqrtXY, Test::Int::Arithmetic::SqrtXX, Test::Int::Arithmetic::DivMod, Test::Int::Arithmetic::Div, Test::Int::Arithmetic::Mod, Test::Int::Arithmetic::AbsXY, Test::Int::Arithmetic::AbsXX, Test::Int::Arithmetic::MinXYZ, Test::Int::Arithmetic::MinXXY, Test::Int::Arithmetic::MinXYX, Test::Int::Arithmetic::MinXYY, Test::Int::Arithmetic::MinXXX, Test::Int::Arithmetic::MaxXYZ, Test::Int::Arithmetic::MaxXXY, Test::Int::Arithmetic::MaxXYX, Test::Int::Arithmetic::MaxXYY, Test::Int::Arithmetic::MaxXXX, Test::Int::Arithmetic::MinNary, Test::Int::Arithmetic::MinNaryShared, Test::Int::Arithmetic::MaxNary, Test::Int::Arithmetic::MaxNaryShared, Test::Int::Basic::Basic, Test::Int::Bool::BinXYZ, Test::Int::Bool::BinXXY, Test::Int::Bool::BinXYX, Test::Int::Bool::BinXYY, Test::Int::Bool::BinXXX, Test::Int::Bool::BinConstXY, Test::Int::Bool::BinConstXX, Test::Int::Bool::Nary, Test::Int::Bool::NaryShared, Test::Int::Bool::NaryConst, Test::Int::Channel::ChannelFull, Test::Int::Channel::ChannelHalf, Test::Int::Channel::ChannelShared, Test::Int::Channel::ChannelLinkSingle, Test::Int::Channel::ChannelLinkMulti, Test::Int::Circuit::Circuit, Test::Int::Count::IntInt, Test::Int::Count::IntIntDup, Test::Int::Count::IntVar, Test::Int::Count::IntArrayInt, Test::Int::Count::IntArrayVar, Test::Int::Count::IntVarShared, Test::Int::Count::VarVar, Test::Int::Count::VarInt, Test::Int::Count::VarVarSharedA, Test::Int::Count::VarVarSharedB, Test::Int::Count::VarVarSharedC, Test::Int::Distinct::Distinct< useCount >, Test::Int::Distinct::Offset, Test::Int::Distinct::Random, Test::Int::Dom::DomRange, Test::Int::Dom::DomDom, Test::Int::Element::IntIntVar, Test::Int::Element::IntIntInt, Test::Int::Element::IntIntShared, Test::Int::Element::IntBoolVar, Test::Int::Element::IntBoolInt, Test::Int::Element::VarIntVar, Test::Int::Element::VarIntInt, Test::Int::Element::VarIntShared, Test::Int::Element::VarBoolVar, Test::Int::Element::VarBoolInt, Test::Int::Extensional::RegSimpleA, Test::Int::Extensional::RegSimpleB, Test::Int::Extensional::RegSimpleC, Test::Int::Extensional::RegDistinct, Test::Int::Extensional::RegSharedA, Test::Int::Extensional::RegSharedB, Test::Int::Extensional::RegSharedC, Test::Int::Extensional::RegSharedD, Test::Int::Extensional::RegEmptyDFA, Test::Int::Extensional::RegEmptyREG, Test::Int::Extensional::TupleSetA, Test::Int::Extensional::TupleSetB, Test::Int::Extensional::TupleSetBool, Test::Int::GCC::IntAllMinMax, Test::Int::GCC::IntAllMinMaxDef, Test::Int::GCC::IntAllMax, Test::Int::GCC::IntSome< hole >, Test::Int::GCC::VarAll, Test::Int::GCC::VarSome, Test::Int::Linear::IntInt, Test::Int::Linear::IntVar, Test::Int::Linear::BoolInt, Test::Int::Linear::BoolVar, Test::Int::MiniModelArithmetic::Mult, Test::Int::MiniModelArithmetic::Plus, Test::Int::MiniModelArithmetic::Minus, Test::Int::MiniModelArithmetic::Sqr, Test::Int::MiniModelArithmetic::Sqrt, Test::Int::MiniModelArithmetic::Abs, Test::Int::MiniModelArithmetic::Min, Test::Int::MiniModelArithmetic::Max, Test::Int::MiniModelArithmetic::MinNary, Test::Int::MiniModelArithmetic::MaxNary, Test::Int::MiniModelBoolean::BoolExprInt, Test::Int::MiniModelBoolean::BoolExprVar, Test::Int::MiniModelCount::IntInt, Test::Int::MiniModelCount::IntVar, Test::Int::MiniModelCount::VarVar, Test::Int::MiniModelCount::VarInt, Test::Int::MiniModelCount::IntArrayInt, Test::Int::MiniModelCount::IntArrayVar, Test::Int::MiniModelLin::LinExprInt, Test::Int::MiniModelLin::LinRelInt, Test::Int::MiniModelLin::LinExprBool, Test::Int::MiniModelLin::LinRelBool, Test::Int::MiniModel::IntLex, Test::Int::MiniModel::BoolLex, Test::Int::Rel::IntVarXY, Test::Int::Rel::IntVarXX, Test::Int::Rel::BoolVarXY, Test::Int::Rel::BoolVarXX, Test::Int::Rel::IntInt, Test::Int::Rel::BoolInt, Test::Int::Rel::IntPairwise, Test::Int::Rel::BoolPairwise, Test::Int::Rel::IntArray, Test::Int::Rel::BoolArray, Test::Int::Scheduling::Cumulatives, Test::Int::Sorted::NoVar, Test::Int::Sorted::PermVar, Test::Int::Unshare::Int, and Test::Int::Unshare::Bool.

virtual bool Test::Int::Test::run ( void   )  [virtual]

Perform test.

Implements Test::Base.

static std::string Test::Int::Test::str ( Gecode::PropKind  pk  )  [static]

Map propagation kind to string.

static std::string Test::Int::Test::str ( Gecode::IntConLevel  icl  )  [static]

Map integer consistency level to string.

static std::string Test::Int::Test::str ( Gecode::IntRelType  pk  )  [static]

Map integer relation to string.

static std::string Test::Int::Test::str ( Gecode::BoolOpType  bot  )  [static]

Map Boolean operation to string.

static std::string Test::Int::Test::str ( int  i  )  [static]

Map integer to string.

template<class T>
static bool Test::Int::Test::cmp ( x,
Gecode::IntRelType  r,
y 
) [inline, static]

Compare x and y with respect to r.


Member Data Documentation

int Test::Int::Test::arity [protected]

Number of variables.

Definition at line 126 of file int.hh.

Domain of variables.

Definition at line 128 of file int.hh.

bool Test::Int::Test::reified [protected]

Does the constraint also exist as reified constraint.

Definition at line 130 of file int.hh.

Consistency level.

Definition at line 132 of file int.hh.

Propagation kind.

Definition at line 134 of file int.hh.

bool Test::Int::Test::testdomcon [protected]

Whether to test for domain consistency.

Definition at line 136 of file int.hh.

bool Test::Int::Test::testsearch [protected]

Whether to perform search test.

Definition at line 138 of file int.hh.


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