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

aig-simplifier: add root tracking, make incremental, split files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-09 08:56:21 -08:00
parent 192c6e39c2
commit a18d2a606b
7 changed files with 146 additions and 20 deletions

View file

@ -33,6 +33,7 @@ namespace sat {
*/
bool cut_set::insert(cut const& c) {
SASSERT(c.m_size > 0);
unsigned i = 0, j = 0;
for (; i < size(); ++i) {
cut const& a = (*this)[i];
@ -61,6 +62,14 @@ namespace sat {
}
return true;
}
std::ostream& cut_set::display(std::ostream& out) const {
for (auto const& cut : *this) {
cut.display(out) << "\n";
}
return out;
}
/**
\brief shift table 'a' by adding elements from 'c'.
@ -116,10 +125,12 @@ namespace sat {
}
std::ostream& cut::display(std::ostream& out) const {
out << "{";
for (unsigned i = 0; i < m_size; ++i) {
out << (*this)[i] << " ";
}
out << "t: ";
out << (*this)[i];
if (i + 1 < m_size) out << " ";
}
out << "} t: ";
for (unsigned i = 0; i < (1u << m_size); ++i) {
if (0 != (m_table & (1ull << i))) out << "1"; else out << "0";
}