38#ifndef __GECODE_TEST_FLOAT_HH__
39#define __GECODE_TEST_FLOAT_HH__
267 bool eqv(
void)
const;
269 bool imp(
void)
const;
271 bool pmi(
void)
const;
291 Test(
const std::string& s,
int a,
299 virtual bool extendAssignement(
Assignment&
a)
const;
304 bool subsumed(
const TestSpace& ts)
const;
313 virtual bool run(
void);
351 bool operator()(
void)
const;
353 void operator++(
void);
struct Gecode::@603::NNF::@65::@66 b
For binary nodes (and, or, eqv)
int n
Number of negative literals for node type.
struct Gecode::@603::NNF::@65::@67 a
For atomic nodes.
Node * x
Pointer to corresponding Boolean expression node.
Reification specification.
Base class for all tests to be run
Base class for assignments
int n
Number of variables.
virtual bool operator()(void) const =0
Test whether all assignments have been iterated.
Assignment(int n0, const Gecode::FloatVal &d0)
Initialize assignments for n0 variables and values d0.
Gecode::FloatVal d
Domain for each variable.
virtual Gecode::FloatVal operator[](int i) const =0
Return value for variable i.
virtual void set(int i, const Gecode::FloatVal &val)=0
Set assignment to value val for variable i.
int size(void) const
Return number of variables.
virtual void operator++(void)=0
Move to next assignment.
virtual ~Assignment(void)
Destructor.
Generate all assignments.
virtual void operator++(void)
Move to next assignment.
virtual ~CpltAssignment(void)
Destructor.
virtual Gecode::FloatVal operator[](int i) const
Return value for variable i.
Gecode::FloatNum step
Step for next assignment.
Gecode::FloatVal * dsv
Iterator for each variable.
virtual void set(int i, const Gecode::FloatVal &val)
Set assignment to value val for variable i.
virtual bool operator()(void) const
Test whether all assignments have been iterated.
CpltAssignment(int n, const Gecode::FloatVal &d, Gecode::FloatNum s)
Initialize assignments for n variables and values d with step s.
Generate all assignments except the last variable and complete it to get a solution.
ExtAssignment(int n, const Gecode::FloatVal &d, Gecode::FloatNum s, const Test *pb)
Initialize assignments for n variables and values d with step s.
virtual ~ExtAssignment(void)
Destructor.
virtual void set(int i, const Gecode::FloatVal &val)
Set assignment to value val for variable i.
Gecode::FloatVal * dsv
Iterator for each variable.
virtual Gecode::FloatVal operator[](int i) const
Return value for variable i.
virtual void operator++(void)
Move to next assignment.
Gecode::FloatNum step
Step for next assignment.
const Test * curPb
Current problem used to complete assignment.
virtual bool operator()(void) const
Test whether all assignments have been iterated.
Iterator for float relation types.
Generate random selection of assignments.
RandomAssignment(int n, const Gecode::FloatVal &d, int a)
Initialize for a assignments for n variables and values d.
virtual Gecode::FloatVal operator[](int i) const
Return value for variable i.
virtual void set(int i, const Gecode::FloatVal &val)
Set assignment to value val for variable i.
Gecode::FloatNum randval(void)
Gecode::FloatVal * vals
The current values for the variables.
virtual bool operator()(void) const
Test whether all assignments have been iterated.
virtual void operator++(void)
Move to next assignment.
int a
How many assigments still to be generated Generate new value according to domain.
virtual ~RandomAssignment(void)
Destructor.
Space for executing tests.
Gecode::FloatVarArray x
Variables to be tested.
void prune(void)
Prune some random values for some random variable.
Gecode::FloatNum cut(int *cutDirections)
Cut the bigger variable to an half sized interval. It returns the new size of the cut interval....
bool matchAssignment(const Assignment &a) const
Test whether all variables match assignment a.
Gecode::Reify r
Reification information.
void bound(void)
Assing a random variable to a random bound.
unsigned int propagators(void)
Return the number of propagators.
void disable(void)
Disable propagators in space and compute fixpoint (make all idle)
Gecode::FloatVal d
Initial domain.
void post(void)
Post propagator.
TestSpace(int n, Gecode::FloatVal &d, Gecode::FloatNum s, Test *t)
Create test space.
Test * test
The test currently run.
bool reified
Whether the test is for a reified propagator.
void enable(void)
Enable propagators in space.
bool failed(void)
Compute a fixpoint and check for failure.
bool assigned(void) const
Test whether all variables are assigned.
virtual void dropUntil(const Assignment &a)
Add constraints to skip solutions to the a assignment.
Gecode::FloatNum step
Step for going to next solution.
void rel(int i, Gecode::FloatRelType frt, Gecode::FloatVal n)
Perform integer tell operation on x[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 ...
virtual Gecode::Space * copy(void)
Copy space during cloning.
int rms
Which reification modes are supported.
bool testsubsumed
Whether to test for subsumption.
bool testfix
Whether to perform fixpoint test.
int arity
Number of variables.
virtual void post(Gecode::Space &home, Gecode::FloatVarArray &x)=0
Post constraint.
Gecode::FloatNum step
Step for going to next solution.
bool reified
Does the constraint also exist as reified constraint.
bool testsearch
Whether to perform search test.
virtual MaybeType solution(const Assignment &) const =0
Check for solution.
AssignmentType assigmentType
Gives the type of assignment to use.
Gecode::FloatVal dom
Domain of variables.
double FloatNum
Floating point number base type.
FloatRelType
Relation types for floats.
ReifyMode
Mode for reification.
AssignmentType
Assignment possible types.
MaybeType operator&(MaybeType a, MaybeType b)
Three-valued conjunction of MaybeType.
MaybeType
Type for comparisons and solutions.
std::basic_ostream< Char, Traits > & operator<<(std::basic_ostream< Char, Traits > &os, const Dictionary &d)
Print statistics summary.