gecide6_first_try

This commit is contained in:
Vitor Santos Costa 2018-03-19 11:43:41 +00:00
parent 9194fda6cc
commit 8ab38125db
2 changed files with 30 additions and 33 deletions

View File

@ -112,8 +112,8 @@ static IntPropLevel gecode_IntPropLevel_from_term(YAP_Term X)
if (X==gecode_IPL_VAL) return IPL_VAL; if (X==gecode_IPL_VAL) return IPL_VAL;
if (X==gecode_IPL_BND) return IPL_BND; if (X==gecode_IPL_BND) return IPL_BND;
if (X==gecode_IPL_DOM) return IPL_DOM; if (X==gecode_IPL_DOM) return IPL_DOM;
if (X==gecode_IPL_SPEED) return IPL_SPEED; // if (X==gecode_IPL_SPEED) return IPL_SPEED;
if (X==gecode_IPL_MEMORY) return IPL_MEMORY; // if (X==gecode_IPL_MEMORY) return IPL_MEMORY;
if (X==gecode_IPL_BASIC) return IPL_BASIC; if (X==gecode_IPL_BASIC) return IPL_BASIC;
if (X==gecode_IPL_ADVANCED) return IPL_ADVANCED; if (X==gecode_IPL_ADVANCED) return IPL_ADVANCED;
if (X==gecode_IPL_BASIC_ADVANCED) return IPL_BASIC_ADVANCED; if (X==gecode_IPL_BASIC_ADVANCED) return IPL_BASIC_ADVANCED;

View File

@ -67,42 +67,39 @@ namespace generic_gecode
class GenericSpace; class GenericSpace;
struct GenericEngine struct GenericEngine
{ {
GenericSpace* next(void); virtual GenericSpace* next(void)=0;
// virtual ~GenericEngine() {}; virtual ~GenericEngine() {};
}; };
struct GenericDFS: GenericEngine struct GenericDFS: GenericEngine
{ {
DFS<GenericSpace> engine; DFS<GenericSpace> engine;
GenericDFS(GenericSpace* s,Search::Options& opt) : engine(s,opt) {} GenericDFS(GenericSpace* s,Search::Options& opt) : engine(s,opt) {}
GenericSpace* next(void) { return engine.next(); } virtual GenericSpace* next(void) { return engine.next(); }
}; };
struct GenericRestartDFS: GenericEngine
{
RBS<GenericSpace,DFS> engine;
GenericRestartDFS(GenericSpace* s,Search::Options& opt) : engine(s,opt) {}
GenericSpace* next(void) { return engine.next(); }
};
struct GenericRestartDFS: GenericEngine
{
RBS<GenericSpace,DFS> engine;
GenericRestartDFS(GenericSpace* s,Search::Options& opt) : engine(s,opt) {}
virtual GenericSpace* next(void) { return engine.next(); }
};
struct GenericBAB: GenericEngine struct GenericBAB: GenericEngine
{ {
BAB<GenericSpace> engine; BAB<GenericSpace> engine;
GenericBAB(GenericSpace* s,Search::Options& opt) : engine(s,opt) {} GenericBAB(GenericSpace* s,Search::Options& opt) : engine(s,opt) {}
GenericSpace* next(void) { return engine.next(); } virtual GenericSpace* next(void) { return engine.next(); }
}; };
struct GenericRestartBAB: GenericEngine struct GenericRestartBAB: GenericEngine
{ {
RBS<GenericSpace,BAB> engine; RBS<GenericSpace,BAB> engine;
GenericRestartBAB(GenericSpace* s,Search::Options& opt) : engine(s,opt) {} GenericRestartBAB(GenericSpace* s,Search::Options& opt) : engine(s,opt) {}
GenericSpace* next(void) { return engine.next(); } virtual GenericSpace* next(void) { return engine.next(); }
}; };
#ifdef OLD #ifdef OLD
struct GenericRestart: GenericEngine struct GenericRestart: GenericEngine
@ -226,10 +223,10 @@ namespace generic_gecode
public: public:
Space* space() { return this; } Space* space() { return this; }
GenericSpace copy(bool share) Space* copy(bool share)
{ freeze(); return *new GenericSpace(share, *this); } { freeze(); return new GenericSpace(share, *this); }
Space* copy(void) {return copy(false);}
GenericSpace(bool share, GenericSpace& s) GenericSpace(bool share, GenericSpace& s)
: Space( s), optim(s.optim), dock(NULL), keeping_some(s.keeping_some) : Space( s), optim(s.optim), dock(NULL), keeping_some(s.keeping_some)
{ {