Revision cfdc7053f2bba3965c665328fc1d014f44cab16b authored by Lonca Emmanuel on 17 March 2021, 12:16:06 UTC, committed by Lonca Emmanuel on 17 March 2021, 12:16:06 UTC
1 parent 76983f8
MssEncodingHelper.cc
/*
* MssEncodingHelper.cc
*
* Created on: 22 août 2016
* Author: lonca
*/
#include "MssEncodingHelper.h"
using namespace CoQuiAAS;
MssEncodingHelper::MssEncodingHelper(std::shared_ptr<MssSolver> solver, Attacks& attacks, VarMap& varMap) : SatEncodingHelper(std::static_pointer_cast<SatSolver>(solver), attacks, varMap), solver(solver) {}
void MssEncodingHelper::setMaxExtensionNeeded() {
std::vector<std::string> vars = varMap.getNames();
for(unsigned int i=0; i<this->varMap.nVars(); ++i) {
std::vector<int> softClause;
softClause.push_back(this->varMap.intVars()[i]);
solver->addSoftClause(softClause);
}
}
void MssEncodingHelper::setMaxRangeNeeded(int disjVarsStartId) {
std::vector<std::string> vars = varMap.getNames();
for(std::vector<std::string>::iterator itVars = vars.begin() ; itVars != vars.end(); ++itVars) {
std::vector<int> softClause;
softClause.push_back(varMap.getVar(*itVars));
softClause.push_back(this->disjunctionVars[*itVars]);
solver->addSoftClause(softClause);
}
}
MssEncodingHelper::~MssEncodingHelper() {}
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...