void DecisionEngine::init() { Assert(d_engineState == 0); d_engineState = 1; Trace("decision-init") << "DecisionEngine::init()" << std::endl; Trace("decision-init") << " * options->decisionMode: " << options::decisionMode() << std:: endl; Trace("decision-init") << " * options->decisionStopOnly: " << options::decisionStopOnly() << std::endl; if(options::decisionMode() == decision::DECISION_STRATEGY_INTERNAL) { } if(options::decisionMode() == decision::DECISION_STRATEGY_JUSTIFICATION) { ITEDecisionStrategy* ds = new decision::JustificationHeuristic(this, d_userContext, d_satContext); enableStrategy(ds); d_needIteSkolemMap.push_back(ds); } if(options::decisionMode() == decision::DECISION_STRATEGY_RELEVANCY) { if(options::incrementalSolving()) { Warning() << "Relevancy decision heuristic and incremental not supported together" << std::endl; return; // Currently not supported with incremental } RelevancyStrategy* ds = new decision::Relevancy(this, d_satContext); enableStrategy(ds); d_needIteSkolemMap.push_back(ds); d_relevancyStrategy = ds; } }
void ConvComlibManager::tableReady() { for (int i=1; i<strategyTable.size(); ++i) { if (strategyTable[i].isInSync) { ComlibPrintf("[%d] ConvComlibManager::tableReady Enabling strategy %d\n",CmiMyPe(),i); strategyTable[i].isInSync = 0; enableStrategy(i); } } }
void DecisionEngine::init() { Assert(d_engineState == 0); d_engineState = 1; Trace("decision-init") << "DecisionEngine::init()" << std::endl; Trace("decision-init") << " * options->decisionMode: " << options::decisionMode() << std:: endl; Trace("decision-init") << " * options->decisionStopOnly: " << options::decisionStopOnly() << std::endl; if(options::decisionMode() == decision::DECISION_STRATEGY_INTERNAL) { } if(options::decisionMode() == decision::DECISION_STRATEGY_JUSTIFICATION) { ITEDecisionStrategy* ds = new decision::JustificationHeuristic(this, d_userContext, d_satContext); enableStrategy(ds); d_needIteSkolemMap.push_back(ds); } }