3
0
Fork 0
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:
Nikolaj Bjorner 2014-09-19 18:18:40 -07:00
parent 6a8623ef0c
commit 25914c0492
3 changed files with 93 additions and 8 deletions

View file

@ -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) {

View file

@ -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';);
}
};