/*****************************************************************************/ /*! * \file decision_engine_mbtf.h * *
* * License to use, copy, modify, sell and/or distribute this software * and its documentation for any purpose is hereby granted without * royalty, subject to the terms and conditions defined in the \ref * LICENSE file provided with this distribution. * *
* */ /*****************************************************************************/ #ifndef _cvc3__search__decision_engine_mbtf_h_ #define _cvc3__search__decision_engine_mbtf_h_ #include "decision_engine.h" namespace CVC3 { class DecisionEngineMBTF : public DecisionEngine { class CacheEntry { public: Expr d_expr; int d_rank; int d_trust; CacheEntry() : d_rank(0), d_trust(0) {} }; int d_startLevel; int d_bottomLevel; int d_topLevel; bool d_topLevelLock; int d_height; std::vector d_cache; ExprMap d_index; protected: virtual bool isBetter(const Expr& e1, const Expr& e2); public: DecisionEngineMBTF(TheoryCore* core, SearchImplBase* se); virtual ~DecisionEngineMBTF() { } virtual Expr findSplitter(const Expr& e); virtual void goalSatisfied(); }; } #endif