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:
parent
20618ff3b3
commit
192c6e39c2
8 changed files with 427 additions and 293 deletions
|
@ -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 {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue