mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
parent
8290cfadcc
commit
3eefd18c58
5 changed files with 38 additions and 46 deletions
|
@ -44,11 +44,10 @@ class quasi_macros_tactic : public tactic {
|
|||
|
||||
macro_manager mm(m_manager);
|
||||
quasi_macros qm(m_manager, mm);
|
||||
bool more = true;
|
||||
|
||||
expr_ref_vector forms(m_manager), new_forms(m_manager);
|
||||
proof_ref_vector proofs(m_manager), new_proofs(m_manager);
|
||||
expr_dependency_ref_vector deps(m_manager), new_deps(m_manager);
|
||||
expr_ref_vector forms(m_manager);
|
||||
proof_ref_vector proofs(m_manager);
|
||||
expr_dependency_ref_vector deps(m_manager);
|
||||
|
||||
unsigned size = g->size();
|
||||
for (unsigned i = 0; i < size; i++) {
|
||||
|
@ -60,19 +59,11 @@ class quasi_macros_tactic : public tactic {
|
|||
do {
|
||||
if (m().canceled())
|
||||
throw tactic_exception(m().limit().get_cancel_msg());
|
||||
|
||||
new_forms.reset();
|
||||
new_proofs.reset();
|
||||
new_deps.reset();
|
||||
more = qm(forms.size(), forms.c_ptr(), proofs.c_ptr(), deps.c_ptr(), new_forms, new_proofs, new_deps);
|
||||
forms.swap(new_forms);
|
||||
proofs.swap(new_proofs);
|
||||
deps.swap(new_deps);
|
||||
}
|
||||
while (more);
|
||||
while (qm(forms, proofs, deps));
|
||||
|
||||
g->reset();
|
||||
for (unsigned i = 0; i < new_forms.size(); i++)
|
||||
for (unsigned i = 0; i < forms.size(); i++)
|
||||
g->assert_expr(forms.get(i),
|
||||
produce_proofs ? proofs.get(i) : nullptr,
|
||||
produce_unsat_cores ? deps.get(i, nullptr) : nullptr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue