3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-07 15:55:46 +00:00

separate out aig_cuts class, make it fully incremental with eviction strategy

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-09 02:16:23 -08:00
parent 20618ff3b3
commit 192c6e39c2
8 changed files with 427 additions and 293 deletions

View file

@ -32,12 +32,12 @@ namespace sat {
- pre-allocate fixed array instead of vector for cut_set to avoid overhead for memory allocation.
*/
void cut_set::insert(cut const& c) {
bool cut_set::insert(cut const& c) {
unsigned i = 0, j = 0;
for (; i < size(); ++i) {
cut const& a = (*this)[i];
if (a.subset_of(c)) {
return;
return false;
}
if (c.subset_of(a)) {
continue;
@ -50,6 +50,7 @@ namespace sat {
}
shrink(j);
push_back(c);
return true;
}
bool cut_set::no_duplicates() const {