mirror of
https://github.com/Z3Prover/z3
synced 2025-12-30 07:49:53 +00:00
collect shared clauses inside share units after pop to base level (might help NIA)
This commit is contained in:
parent
b4c7764aad
commit
e11bf4b9b1
1 changed files with 5 additions and 4 deletions
|
|
@ -154,6 +154,10 @@ namespace smt {
|
|||
goto check_cube_start;
|
||||
b.split(m_l2g, id, node, atom);
|
||||
simplify();
|
||||
if (m_config.m_share_units) {
|
||||
IF_VERBOSE(1, verbose_stream() << " Sharing units\n");
|
||||
share_units();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case l_true: {
|
||||
|
|
@ -203,10 +207,6 @@ namespace smt {
|
|||
break;
|
||||
}
|
||||
}
|
||||
if (m_config.m_share_units) {
|
||||
IF_VERBOSE(1, verbose_stream() << " Sharing units\n");
|
||||
share_units();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -236,6 +236,7 @@ namespace smt {
|
|||
// Collect new units learned locally by this worker and send to batch manager
|
||||
|
||||
ctx->pop_to_base_lvl();
|
||||
collect_shared_clauses(); // collect shared clauses from other workers while we're ALREADY POPPED TO BASE LEVEL
|
||||
unsigned sz = ctx->assigned_literals().size();
|
||||
for (unsigned j = m_num_shared_units; j < sz; ++j) { // iterate only over new literals since last sync
|
||||
literal lit = ctx->assigned_literals()[j];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue