mirror of https://github.com/YosysHQ/yosys.git
Added ezMiniSat EZMINISAT_INCREMENTAL compile-time option
This commit is contained in:
parent
1ec01d8c63
commit
357f3f6e93
|
@ -96,8 +96,12 @@ contradiction:
|
|||
minisatSolver->verbosity = EZMINISAT_VERBOSITY;
|
||||
}
|
||||
|
||||
#if EZMINISAT_INCREMENTAL
|
||||
std::vector<std::vector<int>> cnf;
|
||||
consumeCnf(cnf);
|
||||
#else
|
||||
const std::vector<std::vector<int>> &cnf = this->cnf();
|
||||
#endif
|
||||
|
||||
while (int(minisatVars.size()) < numCnfVariables())
|
||||
minisatVars.push_back(minisatSolver->newVar());
|
||||
|
@ -145,8 +149,14 @@ contradiction:
|
|||
alarm(old_alarm_timeout);
|
||||
}
|
||||
|
||||
if (!foundSolution)
|
||||
if (!foundSolution) {
|
||||
#if !EZMINISAT_INCREMENTAL
|
||||
delete minisatSolver;
|
||||
minisatSolver = NULL;
|
||||
minisatVars.clear();
|
||||
#endif
|
||||
return false;
|
||||
}
|
||||
|
||||
modelValues.clear();
|
||||
modelValues.resize(modelIdx.size());
|
||||
|
@ -164,6 +174,11 @@ contradiction:
|
|||
modelValues[i] = (value == Minisat::lbool(refvalue));
|
||||
}
|
||||
|
||||
#if !EZMINISAT_INCREMENTAL
|
||||
delete minisatSolver;
|
||||
minisatSolver = NULL;
|
||||
minisatVars.clear();
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
#define EZMINISAT_SOLVER Minisat::Solver
|
||||
#define EZMINISAT_VERBOSITY 0
|
||||
#define EZMINISAT_INCREMENTAL 1
|
||||
|
||||
#include "ezsat.h"
|
||||
#include <time.h>
|
||||
|
|
Loading…
Reference in New Issue