mirror of
https://github.com/Z3Prover/z3
synced 2026-05-19 00:19:31 +00:00
simplify parallel_tactical2: use std::min and consistent mk_not
- Replace manual conflict cap with std::min in update_max_conflicts() - Use mk_not(m, c) instead of mk_not(expr_ref(c, m)) for consistency with the existing call pattern at line 349 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
parent
09b75d2122
commit
7ea6e9bed4
1 changed files with 4 additions and 6 deletions
|
|
@ -471,11 +471,9 @@ class parallel_solver {
|
||||||
unsigned m_shared_clause_limit = 0;
|
unsigned m_shared_clause_limit = 0;
|
||||||
|
|
||||||
void update_max_conflicts() {
|
void update_max_conflicts() {
|
||||||
m_config.m_threads_max_conflicts = static_cast<unsigned>(
|
m_config.m_threads_max_conflicts = std::min(
|
||||||
m_config.m_max_conflict_mul * m_config.m_threads_max_conflicts);
|
static_cast<unsigned>(m_config.m_max_conflict_mul * m_config.m_threads_max_conflicts),
|
||||||
/* cap at the configured global maximum to prevent runaway cube checks */
|
m_config.m_max_conflicts);
|
||||||
if (m_config.m_threads_max_conflicts > m_config.m_max_conflicts)
|
|
||||||
m_config.m_threads_max_conflicts = m_config.m_max_conflicts;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check the current cube (passed as additional assumptions).
|
/* Check the current cube (passed as additional assumptions).
|
||||||
|
|
@ -675,7 +673,7 @@ class parallel_solver {
|
||||||
* as a learned clause: ¬(c₁ ∧ … ∧ cₙ) ≡ ¬c₁ ∨ … ∨ ¬cₙ */
|
* as a learned clause: ¬(c₁ ∧ … ∧ cₙ) ≡ ¬c₁ ∨ … ∨ ¬cₙ */
|
||||||
expr_ref_vector neg_lits(m);
|
expr_ref_vector neg_lits(m);
|
||||||
for (expr* c : cube_core)
|
for (expr* c : cube_core)
|
||||||
neg_lits.push_back(mk_not(expr_ref(c, m)));
|
neg_lits.push_back(mk_not(m, c));
|
||||||
expr_ref clause(mk_or(neg_lits), m);
|
expr_ref clause(mk_or(neg_lits), m);
|
||||||
b.collect_clause(m_l2g, id, clause.get());
|
b.collect_clause(m_l2g, id, clause.get());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue