Generated on Thu Apr 11 14:00:13 2019 for Gecode by doxygen 1.6.3

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

Base class for tests with float constraints More...

#include <float.hh>

List of all members.

Public Member Functions

 Test (const std::string &s, int a, const Gecode::FloatVal &d, Gecode::FloatNum st, AssignmentType at, bool r)
 Constructor.
 Test (const std::string &s, int a, Gecode::FloatNum min, Gecode::FloatNum max, Gecode::FloatNum st, AssignmentType at, bool r)
 Constructor.
virtual Assignmentassignment (void) const
 Create assignment.
virtual bool extendAssignement (Assignment &a) const
 Complete the current assignment to get a feasible one (which satisfies all constraint). If such an assignment is computed, it returns true, false otherwise.
virtual MaybeType solution (const Assignment &) const =0
 Check for solution.
bool subsumed (const TestSpace &ts) const
 Test if ts is subsumed or not (i.e. if there is no more propagator unless the assignment is an extended assigment.
virtual bool ignore (const Assignment &a) const
 Whether to ignore assignment for reification.
virtual void post (Gecode::Space &home, Gecode::FloatVarArray &x)=0
 Post constraint.
virtual void post (Gecode::Space &home, Gecode::FloatVarArray &x, Gecode::Reify r)
 Post reified constraint.
virtual bool run (void)
 Perform test.

Protected Attributes

int arity
 Number of variables.
Gecode::FloatVal dom
 Domain of variables.
Gecode::FloatNum step
 Step for going to next solution.
AssignmentType assigmentType
 Gives the type of assignment to use.
bool reified
 Does the constraint also exist as reified constraint.
int rms
 Which reification modes are supported.
bool testsearch
 Whether to perform search test.
bool testfix
 Whether to perform fixpoint test.
bool testsubsumed
 Whether to test for subsumption.

Test for reification modes



bool eqv (void) const
 Test whether equivalence as reification mode is supported.
bool imp (void) const
 Test whether implication as reification mode is supported.
bool pmi (void) const
 Test whether reverse implication as reification mode is supported.

General support



bool flip (void)
 Flip a coin and return true or false randomly.
static MaybeType cmp (Gecode::FloatVal x, Gecode::FloatRelType r, Gecode::FloatVal y)
 Compare x and y with respect to r.
static MaybeType eq (Gecode::FloatVal x, Gecode::FloatVal y)
 Whether x and y are equal.

Mapping scalar values to strings



static std::string str (Gecode::FloatRelType frt)
 Map float relation to string.
static std::string str (Gecode::FloatNum f)
 Map floatNum to string.
static std::string str (Gecode::FloatVal f)
 Map floatVal to string.
static std::string str (const Gecode::FloatValArgs &f)
 Map float array to string.

Detailed Description

Base class for tests with float constraints

Definition at line 244 of file float.hh.


Constructor & Destructor Documentation

Test::Float::Test::Test ( const std::string &  s,
int  a,
const Gecode::FloatVal d,
Gecode::FloatNum  st,
AssignmentType  at,
bool  r 
) [inline]

Constructor.

Constructs a test with name s and arity a and variable domain d and step st and assignment type at. Also tests for a reified constraint, if r is true.

Definition at line 172 of file float.hpp.

Test::Float::Test::Test ( const std::string &  s,
int  a,
Gecode::FloatNum  min,
Gecode::FloatNum  max,
Gecode::FloatNum  st,
AssignmentType  at,
bool  r 
) [inline]

Constructor.

Constructs a test with name s and arity a and variable domain min ... max and step st and assignment type at. Also tests for a reified constraint, if r is true.

Definition at line 182 of file float.hpp.


Member Function Documentation

bool Test::Float::Test::eqv ( void   )  const [inline, protected]

Test whether equivalence as reification mode is supported.

Definition at line 160 of file float.hpp.

bool Test::Float::Test::imp ( void   )  const [inline, protected]

Test whether implication as reification mode is supported.

Definition at line 164 of file float.hpp.

bool Test::Float::Test::pmi ( void   )  const [inline, protected]

Test whether reverse implication as reification mode is supported.

Definition at line 168 of file float.hpp.

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

Create assignment.

Definition at line 420 of file float.cpp.

virtual MaybeType Test::Float::Test::solution ( const Assignment  )  const [pure virtual]

Check for solution.

Implemented in Test::Float::Arithmetic::MultXYZ, Test::Float::Arithmetic::MultXYZSol, Test::Float::Arithmetic::MultXXY, Test::Float::Arithmetic::MultXXYSol, Test::Float::Arithmetic::MultXYX, Test::Float::Arithmetic::MultXYY, Test::Float::Arithmetic::MultXXX, Test::Float::Arithmetic::Div, Test::Float::Arithmetic::DivSol, Test::Float::Arithmetic::SqrXY, Test::Float::Arithmetic::SqrXYSol, Test::Float::Arithmetic::SqrXX, Test::Float::Arithmetic::SqrtXY, Test::Float::Arithmetic::SqrtXYSol, Test::Float::Arithmetic::SqrtXX, Test::Float::Arithmetic::PowXY, Test::Float::Arithmetic::PowXYSol, Test::Float::Arithmetic::PowXX, Test::Float::Arithmetic::NRootXY, Test::Float::Arithmetic::NRootXYSol, Test::Float::Arithmetic::NRootXX, Test::Float::Arithmetic::AbsXY, Test::Float::Arithmetic::AbsXX, Test::Float::Arithmetic::MinXYZ, Test::Float::Arithmetic::MinXXY, Test::Float::Arithmetic::MinXYX, Test::Float::Arithmetic::MinXYY, Test::Float::Arithmetic::MinXXX, Test::Float::Arithmetic::MaxXYZ, Test::Float::Arithmetic::MaxXXY, Test::Float::Arithmetic::MaxXYX, Test::Float::Arithmetic::MaxXYY, Test::Float::Arithmetic::MaxXXX, Test::Float::Arithmetic::MinNary, Test::Float::Arithmetic::MinNaryShared, Test::Float::Arithmetic::MaxNary, Test::Float::Arithmetic::MaxNaryShared, Test::Float::Basic::Basic, Test::Float::Channel::Int, Test::Float::Channel::Bool, Test::Float::Dom::Val, Test::Float::Dom::Num, Test::Float::Linear::FloatFloat, Test::Float::Linear::FloatVar, Test::Float::Rel::FloatVarXY, Test::Float::Rel::FloatVarXX, Test::Float::Rel::FloatFloat, Test::Float::Transcendental::ExpXY, Test::Float::Transcendental::ExpXYSol, Test::Float::Transcendental::ExpXX, Test::Float::Transcendental::LogXY, Test::Float::Transcendental::LogXYSol, Test::Float::Transcendental::LogXX, Test::Float::Transcendental::LogNXY, Test::Float::Transcendental::LogNXYSol, Test::Float::Transcendental::LogNXX, Test::Float::Transcendental::PowXY, Test::Float::Transcendental::PowXYSol, Test::Float::Transcendental::PowXX, Test::Float::Trigonometric::SinXY, Test::Float::Trigonometric::SinXYSol, Test::Float::Trigonometric::SinXX, Test::Float::Trigonometric::CosXY, Test::Float::Trigonometric::CosXYSol, Test::Float::Trigonometric::CosXX, Test::Float::Trigonometric::TanXY, Test::Float::Trigonometric::TanXYSol, Test::Float::Trigonometric::TanXX, Test::Float::Trigonometric::ASinXY, Test::Float::Trigonometric::ASinXYSol, Test::Float::Trigonometric::ASinXX, Test::Float::Trigonometric::ACosXY, Test::Float::Trigonometric::ACosXYSol, Test::Float::Trigonometric::ACosXX, Test::Float::Trigonometric::ATanXY, Test::Float::Trigonometric::ATanXYSol, and Test::Float::Trigonometric::ATanXX.

bool Test::Float::Test::subsumed ( const TestSpace ts  )  const

Test if ts is subsumed or not (i.e. if there is no more propagator unless the assignment is an extended assigment.

Definition at line 441 of file float.cpp.

bool Test::Float::Test::ignore ( const Assignment a  )  const [virtual]

Whether to ignore assignment for reification.

Definition at line 465 of file float.cpp.

virtual void Test::Float::Test::post ( Gecode::Space home,
Gecode::FloatVarArray x 
) [pure virtual]

Post constraint.

Implemented in Test::Float::Arithmetic::MultXYZ, Test::Float::Arithmetic::MultXYZSol, Test::Float::Arithmetic::MultXXY, Test::Float::Arithmetic::MultXXYSol, Test::Float::Arithmetic::MultXYX, Test::Float::Arithmetic::MultXYY, Test::Float::Arithmetic::MultXXX, Test::Float::Arithmetic::Div, Test::Float::Arithmetic::DivSol, Test::Float::Arithmetic::SqrXY, Test::Float::Arithmetic::SqrXYSol, Test::Float::Arithmetic::SqrXX, Test::Float::Arithmetic::SqrtXY, Test::Float::Arithmetic::SqrtXYSol, Test::Float::Arithmetic::SqrtXX, Test::Float::Arithmetic::PowXY, Test::Float::Arithmetic::PowXYSol, Test::Float::Arithmetic::PowXX, Test::Float::Arithmetic::NRootXY, Test::Float::Arithmetic::NRootXYSol, Test::Float::Arithmetic::NRootXX, Test::Float::Arithmetic::AbsXY, Test::Float::Arithmetic::AbsXX, Test::Float::Arithmetic::MinXYZ, Test::Float::Arithmetic::MinXXY, Test::Float::Arithmetic::MinXYX, Test::Float::Arithmetic::MinXYY, Test::Float::Arithmetic::MinXXX, Test::Float::Arithmetic::MaxXYZ, Test::Float::Arithmetic::MaxXXY, Test::Float::Arithmetic::MaxXYX, Test::Float::Arithmetic::MaxXYY, Test::Float::Arithmetic::MaxXXX, Test::Float::Arithmetic::MinNary, Test::Float::Arithmetic::MinNaryShared, Test::Float::Arithmetic::MaxNary, Test::Float::Arithmetic::MaxNaryShared, Test::Float::Basic::Basic, Test::Float::Channel::Int, Test::Float::Channel::Bool, Test::Float::Dom::Val, Test::Float::Dom::Num, Test::Float::Linear::FloatFloat, Test::Float::Linear::FloatVar, Test::Float::Rel::FloatVarXY, Test::Float::Rel::FloatVarXX, Test::Float::Rel::FloatFloat, Test::Float::Transcendental::ExpXY, Test::Float::Transcendental::ExpXYSol, Test::Float::Transcendental::ExpXX, Test::Float::Transcendental::LogXY, Test::Float::Transcendental::LogXYSol, Test::Float::Transcendental::LogXX, Test::Float::Transcendental::LogNXY, Test::Float::Transcendental::LogNXYSol, Test::Float::Transcendental::LogNXX, Test::Float::Transcendental::PowXY, Test::Float::Transcendental::PowXYSol, Test::Float::Transcendental::PowXX, Test::Float::Trigonometric::SinXY, Test::Float::Trigonometric::SinXYSol, Test::Float::Trigonometric::SinXX, Test::Float::Trigonometric::CosXY, Test::Float::Trigonometric::CosXYSol, Test::Float::Trigonometric::CosXX, Test::Float::Trigonometric::TanXY, Test::Float::Trigonometric::TanXYSol, Test::Float::Trigonometric::TanXX, Test::Float::Trigonometric::ASinXY, Test::Float::Trigonometric::ASinXYSol, Test::Float::Trigonometric::ASinXX, Test::Float::Trigonometric::ACosXY, Test::Float::Trigonometric::ACosXYSol, Test::Float::Trigonometric::ACosXX, Test::Float::Trigonometric::ATanXY, Test::Float::Trigonometric::ATanXYSol, and Test::Float::Trigonometric::ATanXX.

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

Perform test.

Implements Test::Base.

Definition at line 474 of file float.cpp.

std::string Test::Float::Test::str ( Gecode::FloatRelType  frt  )  [inline, static]

Map float relation to string.

Definition at line 194 of file float.hpp.

std::string Test::Float::Test::str ( Gecode::FloatNum  f  )  [inline, static]

Map floatNum to string.

Definition at line 211 of file float.hpp.

std::string Test::Float::Test::str ( Gecode::FloatVal  f  )  [inline, static]

Map floatVal to string.

Definition at line 219 of file float.hpp.

std::string Test::Float::Test::str ( const Gecode::FloatValArgs f  )  [inline, static]

Map float array to string.

Definition at line 227 of file float.hpp.

MaybeType Test::Float::Test::cmp ( Gecode::FloatVal  x,
Gecode::FloatRelType  r,
Gecode::FloatVal  y 
) [inline, static]

Compare x and y with respect to r.

Definition at line 235 of file float.hpp.

MaybeType Test::Float::Test::eq ( Gecode::FloatVal  x,
Gecode::FloatVal  y 
) [inline, static]

Whether x and y are equal.

Definition at line 268 of file float.hpp.

bool Test::Float::Test::flip ( void   )  [inline]

Flip a coin and return true or false randomly.

Definition at line 273 of file float.hpp.


Member Data Documentation

int Test::Float::Test::arity [protected]

Number of variables.

Definition at line 247 of file float.hh.

Domain of variables.

Definition at line 249 of file float.hh.

Step for going to next solution.

Definition at line 251 of file float.hh.

Gives the type of assignment to use.

Definition at line 253 of file float.hh.

bool Test::Float::Test::reified [protected]

Does the constraint also exist as reified constraint.

Definition at line 255 of file float.hh.

int Test::Float::Test::rms [protected]

Which reification modes are supported.

Definition at line 257 of file float.hh.

Whether to perform search test.

Definition at line 259 of file float.hh.

bool Test::Float::Test::testfix [protected]

Whether to perform fixpoint test.

Definition at line 261 of file float.hh.

Whether to test for subsumption.

Definition at line 263 of file float.hh.


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