diff options
author | Clifford Wolf <clifford@clifford.at> | 2014-03-01 21:00:34 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2014-03-01 21:00:34 +0100 |
commit | d500bd749f84c0b05a8ec96d2a5fc33ace0c5b58 (patch) | |
tree | 90f2dc8cf7195a71ab48c4fea0b9ce1e6e105f71 /libs/ezsat/ezminisat.cc | |
parent | 23f0a12c727721478bcb87ec142fb86a329f7cdb (diff) | |
download | yosys-d500bd749f84c0b05a8ec96d2a5fc33ace0c5b58.tar.gz yosys-d500bd749f84c0b05a8ec96d2a5fc33ace0c5b58.tar.bz2 yosys-d500bd749f84c0b05a8ec96d2a5fc33ace0c5b58.zip |
Added ezSAT::eliminated API to help the SAT solver remember eliminated variables
Diffstat (limited to 'libs/ezsat/ezminisat.cc')
-rw-r--r-- | libs/ezsat/ezminisat.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/ezsat/ezminisat.cc b/libs/ezsat/ezminisat.cc index 287177b1c..d488a9062 100644 --- a/libs/ezsat/ezminisat.cc +++ b/libs/ezsat/ezminisat.cc @@ -65,6 +65,14 @@ void ezMiniSAT::freeze(int id) { cnfFrozenVars.insert(bind(id)); } + +bool ezMiniSAT::eliminated(int idx) +{ + idx = idx < 0 ? -idx : idx; + if (minisatSolver != NULL && idx > 0 && idx <= int(minisatVars.size())) + return minisatSolver->isEliminated(minisatVars.at(idx-1)); + return false; +} #endif ezMiniSAT *ezMiniSAT::alarmHandlerThis = NULL; |