Test::Float::Test Class Reference
[General test support]
Base class for tests with float constraints More...
#include <float.hh>
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 Assignment * | assignment (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 242 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] |
Test::Float::Test::Test | ( | const std::string & | s, | |
int | a, | |||
Gecode::FloatNum | min, | |||
Gecode::FloatNum | max, | |||
Gecode::FloatNum | st, | |||
AssignmentType | at, | |||
bool | r | |||
) | [inline] |
Member Function Documentation
bool Test::Float::Test::eqv | ( | void | ) | const [inline, protected] |
bool Test::Float::Test::imp | ( | void | ) | const [inline, protected] |
bool Test::Float::Test::pmi | ( | void | ) | const [inline, protected] |
Assignment * Test::Float::Test::assignment | ( | void | ) | const [virtual] |
bool Test::Float::Test::extendAssignement | ( | Assignment & | a | ) | const [virtual] |
Complete the current assignment to get a feasible one (which satisfies all constraint). If such an assignment is computed, it returns true, false otherwise.
Reimplemented in Test::Float::Arithmetic::MultXYZSol, Test::Float::Arithmetic::MultXXYSol, Test::Float::Arithmetic::DivSol, Test::Float::Arithmetic::SqrXYSol, Test::Float::Arithmetic::SqrtXYSol, Test::Float::Arithmetic::PowXYSol, Test::Float::Arithmetic::NRootXYSol, Test::Float::Transcendental::ExpXYSol, Test::Float::Transcendental::LogXYSol, Test::Float::Transcendental::LogNXYSol, Test::Float::Transcendental::PowXYSol, Test::Float::Trigonometric::SinXYSol, Test::Float::Trigonometric::CosXYSol, Test::Float::Trigonometric::TanXYSol, Test::Float::Trigonometric::ASinXYSol, Test::Float::Trigonometric::ACosXYSol, and Test::Float::Trigonometric::ATanXYSol.
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::ChannelLinkSingle, 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 |
bool Test::Float::Test::ignore | ( | const Assignment & | a | ) | const [virtual] |
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::ChannelLinkSingle, 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.
void Test::Float::Test::post | ( | Gecode::Space & | home, | |
Gecode::FloatVarArray & | x, | |||
Gecode::Reify | r | |||
) | [virtual] |
Post reified constraint.
Reimplemented in Test::Float::Basic::Basic, Test::Float::Dom::Val, Test::Float::Dom::Num, Test::Float::Linear::FloatFloat, Test::Float::Linear::FloatVar, Test::Float::Rel::FloatVarXY, Test::Float::Rel::FloatVarXX, and Test::Float::Rel::FloatFloat.
bool Test::Float::Test::run | ( | void | ) | [virtual] |
std::string Test::Float::Test::str | ( | Gecode::FloatRelType | frt | ) | [inline, static] |
std::string Test::Float::Test::str | ( | Gecode::FloatNum | f | ) | [inline, static] |
std::string Test::Float::Test::str | ( | Gecode::FloatVal | f | ) | [inline, static] |
std::string Test::Float::Test::str | ( | const Gecode::FloatValArgs & | f | ) | [inline, static] |
MaybeType Test::Float::Test::cmp | ( | Gecode::FloatVal | x, | |
Gecode::FloatRelType | r, | |||
Gecode::FloatVal | y | |||
) | [inline, static] |
MaybeType Test::Float::Test::eq | ( | Gecode::FloatVal | x, | |
Gecode::FloatVal | y | |||
) | [inline, static] |
bool Test::Float::Test::flip | ( | void | ) | [inline] |
Member Data Documentation
int Test::Float::Test::arity [protected] |
Gecode::FloatVal Test::Float::Test::dom [protected] |
Gecode::FloatNum Test::Float::Test::step [protected] |
AssignmentType Test::Float::Test::assigmentType [protected] |
bool Test::Float::Test::reified [protected] |
int Test::Float::Test::rms [protected] |
bool Test::Float::Test::testsearch [protected] |
bool Test::Float::Test::testfix [protected] |
bool Test::Float::Test::testsubsumed [protected] |
The documentation for this class was generated from the following files: