42 #ifndef __GECODE_TEST_FLOAT_HH__ 43 #define __GECODE_TEST_FLOAT_HH__ 100 int size(
void)
const;
270 bool eqv(
void)
const;
273 bool imp(
void)
const;
275 bool pmi(
void)
const;
295 Test(
const std::string& s,
int a,
317 virtual bool run(
void);
static MaybeType eq(Gecode::FloatVal x, Gecode::FloatVal y)
Whether x and y are equal.
Gecode::FloatNum step
Step for going to next solution.
virtual ~RandomAssignment(void)
Destructor.
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 extend...
AssignmentType
Assignment possible types.
void reset(void)
Reset iterator.
unsigned int propagators(void)
Return the number of propagators.
Gecode::FloatRelType frt(void) const
Return current relation type.
const FloatNum max
Largest allowed float value.
void enable(void)
Enable propagators in space.
Test(const std::string &s, int a, const Gecode::FloatVal &d, Gecode::FloatNum st, AssignmentType at, bool r)
Constructor.
Gecode::FloatNum step
Step for next assignment.
void prune(void)
Prune some random values for some random variable.
bool operator()(void) const
Test whether iterator is done.
ExtAssignment(int n, const Gecode::FloatVal &d, Gecode::FloatNum s, const Test *pb)
Initialize assignments for n variables and values d with step s.
bool testfix
Whether to perform fixpoint test.
bool imp(void) const
Test whether implication as reification mode is supported.
static MaybeType cmp(Gecode::FloatVal x, Gecode::FloatRelType r, Gecode::FloatVal y)
Compare x and y with respect to r.
bool testsubsumed
Whether to test for subsumption.
int n
Number of variables.
static std::string str(Gecode::FloatRelType frt)
Map float relation to string.
void post(void)
Post propagator.
void bound(void)
Assing a random variable to a random bound.
virtual void operator++(void)
Move to next assignment.
FloatRelTypes(void)
Initialize iterator.
int a
How many assigments still to be generated Generate new value according to domain. ...
Test * test
The test currently run.
struct Gecode::@579::NNF::@61::@63 a
For atomic nodes.
virtual MaybeType solution(const Assignment &) const =0
Check for solution.
const FloatNum min
Smallest allowed float value.
Iterator for float relation types.
Gecode::IntArgs i(4, 1, 2, 3, 4)
virtual ~Assignment(void)
Destructor.
CpltAssignment(int n, const Gecode::FloatVal &d, Gecode::FloatNum s)
Initialize assignments for n variables and values d with step s.
Gecode::FloatNum randval(void)
int n
Number of negative literals for node type.
Generate all assignments except the last variable and complete it to get a solution.
virtual bool ignore(const Assignment &a) const
Whether to ignore assignment for reification.
TestSpace(int n, Gecode::FloatVal &d, Gecode::FloatNum s, Test *t)
Create test space.
FloatRelType
Relation types for floats.
RandomAssignment(int n, const Gecode::FloatVal &d, int a)
Initialize for a assignments for n variables and values d.
void disable(void)
Disable propagators in space and compute fixpoint (make all idle)
const Test * curPb
Current problem used to complete 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 void dropUntil(const Assignment &a)
Add constraints to skip solutions to the a assignment.
virtual bool operator()(void) const
Test whether all assignments have been iterated.
Reification specification.
struct Gecode::@579::NNF::@61::@62 b
For binary nodes (and, or, eqv)
Base class for all tests to be run
MaybeType operator&(MaybeType a, MaybeType b)
Three-valued conjunction of MaybeType.
bool testsearch
Whether to perform search test.
virtual void operator++(void)
Move to next assignment.
virtual Gecode::FloatVal operator[](int i) const
Return value for variable i.
virtual void post(Gecode::Space &home, Gecode::FloatVarArray &x)=0
Post constraint.
Generate random selection of assignments.
Gecode::Reify r
Reification information.
virtual void operator++(void)=0
Move to next assignment.
virtual ~ExtAssignment(void)
Destructor.
bool assigned(void) const
Test whether all variables are assigned.
Gecode::FloatVarArray x
Variables to be tested.
Gecode::FloatVal d
Initial domain.
bool pmi(void) const
Test whether reverse implication as reification mode is supported.
Post propagator for f(x \diamond_{\mathit{op}} y) \sim_r z \f$ void rel(Home home
Post propagator for SetVar SetOpType SetVar y
void operator++(void)
Increment to next relation type.
virtual Gecode::FloatVal operator[](int i) const =0
Return value for variable i.
void assign(const Assignment &a, MaybeType &sol, bool skip=false)
Assign all (or all but one, if skip is true) variables to values in a If assignment of a variable is ...
Node * x
Pointer to corresponding Boolean expression node.
Gecode::FloatVal d
Domain for each variable.
bool matchAssignment(const Assignment &a) const
Test whether all variables match assignment a.
Gecode::FloatVal dom
Domain of variables.
AssignmentType assigmentType
Gives the type of assignment to use.
MaybeType
Type for comparisons and solutions.
Space for executing tests.
Gecode::FloatVal * dsv
Iterator for each variable.
Gecode::FloatVal * vals
The current values for the variables.
virtual bool operator()(void) const
Test whether all assignments have been iterated.
virtual bool run(void)
Perform test.
int size(void) const
Return number of variables.
virtual Gecode::FloatVal operator[](int i) const
Return value for variable i.
int arity
Number of variables.
std::basic_ostream< Char, Traits > & operator<<(std::basic_ostream< Char, Traits > &os, const FloatView &x)
Print float variable view.
bool failed(void)
Compute a fixpoint and check for failure.
virtual void operator++(void)
Move to next assignment.
Gecode::FloatVal * dsv
Iterator for each variable.
bool reified
Does the constraint also exist as reified constraint.
Generate all assignments.
virtual bool operator()(void) const
Test whether all assignments have been iterated.
double FloatNum
Floating point number base type.
ReifyMode
Mode for reification.
Gecode::FloatNum cut(int *cutDirections)
Cut the bigger variable to an half sized interval. It returns the new size of the cut interval...
virtual Assignment * assignment(void) const
Create assignment.
void rel(int i, Gecode::FloatRelType frt, Gecode::FloatVal n)
Perform integer tell operation on x[i].
bool eqv(void) const
Test whether equivalence as reification mode is supported.
Gecode::FloatNum step
Step for going to next solution.
Gecode::FloatNum step
Step for next assignment.
virtual ~CpltAssignment(void)
Destructor.
int rms
Which reification modes are supported.
bool reified
Whether the test is for a reified propagator.
Assignment(int n0, const Gecode::FloatVal &d0)
Initialize assignments for n0 variables and values d0.
virtual Gecode::FloatVal operator[](int i) const
Return value for variable i.
virtual Gecode::Space * copy(bool share)
Copy space during cloning.
bool flip(void)
Flip a coin and return true or false randomly.
Base class for assignments
virtual bool operator()(void) const =0
Test whether all assignments have been iterated.