mirror of
https://github.com/Z3Prover/z3
synced 2025-10-07 08:21:56 +00:00
testing filter interpreted
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
6a8623ef0c
commit
25914c0492
3 changed files with 93 additions and 8 deletions
|
@ -220,6 +220,18 @@ public:
|
|||
push_back(m.allocate(other[i]));
|
||||
}
|
||||
}
|
||||
void simplify(M& m) {
|
||||
union_bvec result;
|
||||
for (unsigned i = 0; i < size(); ++i) {
|
||||
if (m.fold_neg(*m_elems[i])) {
|
||||
result.insert(m, m_elems[i]);
|
||||
}
|
||||
else {
|
||||
m.deallocate(m_elems[i]);
|
||||
}
|
||||
}
|
||||
std::swap(*this, result);
|
||||
}
|
||||
|
||||
void merge(M& m, unsigned lo, unsigned length, subset_ints & equalities, bit_vector const& discard_cols) {
|
||||
for (unsigned i = 0; i < size(); ++i) {
|
||||
|
|
|
@ -739,6 +739,7 @@ namespace datalog {
|
|||
if (m_condition && !u.is_empty()) {
|
||||
t.apply_guard(m_condition, u, m_empty_bv);
|
||||
}
|
||||
u.simplify(dm);
|
||||
TRACE("dl", tout << "final size: " << t.get_size_estimate_rows() << '\n';);
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue