mirror of
https://github.com/Z3Prover/z3
synced 2025-07-19 10:52:02 +00:00
delay evaluation of model, throttle propagation, introduce LUT results into cutset
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
7b2f6791bc
commit
2d59b81353
14 changed files with 112 additions and 84 deletions
|
@ -275,6 +275,18 @@ namespace sat {
|
|||
SASSERT(!m_aig[v].empty());
|
||||
}
|
||||
|
||||
void aig_cuts::add_cut(bool_var v, uint64_t lut, bool_var_vector const& args) {
|
||||
reserve(v);
|
||||
for (bool_var w : args) reserve(w);
|
||||
// optional: reshuffle lut and sort variables.
|
||||
cut c;
|
||||
for (bool_var w : args) VERIFY(c.add(w));
|
||||
c.set_table(lut);
|
||||
// add-don't care?
|
||||
insert_cut(v, c, m_cuts[v]);
|
||||
}
|
||||
|
||||
|
||||
void aig_cuts::set_root(bool_var v, literal r) {
|
||||
IF_VERBOSE(10, verbose_stream() << "set-root " << v << " -> " << r << "\n");
|
||||
m_roots.push_back(std::make_pair(v, r));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue