mirror of https://github.com/YosysHQ/yosys.git
Add solve without model.
This commit is contained in:
parent
dbe5b7c03f
commit
cd029c0638
|
|
@ -108,9 +108,17 @@ void SatEffortBudget::charge_import(QuickConeSat &qcsat, int64_t &cells_charged)
|
|||
cells_charged = GetSize(qcsat.imported_cells);
|
||||
}
|
||||
|
||||
SatEffortBudget::Result SatEffortBudget::solve(QuickConeSat &qcsat, int64_t cap, const std::vector<int> &assumptions)
|
||||
{
|
||||
std::vector<bool> modelVals;
|
||||
return solve(qcsat, cap, {}, modelVals, assumptions);
|
||||
}
|
||||
|
||||
SatEffortBudget::Result SatEffortBudget::solve(QuickConeSat &qcsat, int64_t cap, const std::vector<int> &modelExprs,
|
||||
std::vector<bool> &modelVals, const std::vector<int> &assumptions)
|
||||
{
|
||||
if (spent())
|
||||
return Result::LimitReached;
|
||||
if (enabled())
|
||||
cap = (cap > 0) ? std::min(cap, remaining) : remaining;
|
||||
qcsat.ez->setSolverPropLimit(cap);
|
||||
|
|
|
|||
|
|
@ -102,6 +102,9 @@ struct SatEffortBudget {
|
|||
|
||||
Result solve(QuickConeSat &qcsat, int64_t cap, const std::vector<int> &modelExprs,
|
||||
std::vector<bool> &modelVals, const std::vector<int> &assumptions);
|
||||
|
||||
// Assumptions-only query without a model
|
||||
Result solve(QuickConeSat &qcsat, int64_t cap, const std::vector<int> &assumptions);
|
||||
};
|
||||
|
||||
YOSYS_NAMESPACE_END
|
||||
|
|
|
|||
Loading…
Reference in New Issue