mirror of
https://github.com/Z3Prover/z3
synced 2025-04-13 20:38:43 +00:00
#5259 again
This commit is contained in:
parent
987099c765
commit
e2a52ed6ee
|
@ -52,9 +52,10 @@ struct th_rewriter_cfg : public default_rewriter_cfg {
|
|||
arith_util m_a_util;
|
||||
bv_util m_bv_util;
|
||||
expr_safe_replace m_rep;
|
||||
bool m_new_subst { false };
|
||||
expr_ref_vector m_pinned;
|
||||
unsigned long long m_max_memory; // in bytes
|
||||
unsigned m_max_steps;
|
||||
unsigned m_max_steps;
|
||||
bool m_pull_cheap_ite;
|
||||
bool m_flat;
|
||||
bool m_cache_all;
|
||||
|
@ -688,6 +689,12 @@ struct th_rewriter_cfg : public default_rewriter_cfg {
|
|||
return;
|
||||
if (patterns.empty())
|
||||
return;
|
||||
if (m_new_subst) {
|
||||
m_rep.reset();
|
||||
for (auto kv : m_subst->sub())
|
||||
m_rep.insert(kv.m_key, kv.m_value);
|
||||
m_new_subst = false;
|
||||
}
|
||||
expr_ref tmp(m());
|
||||
for (unsigned i = 0; i < patterns.size(); ++i) {
|
||||
m_rep(patterns[i], tmp);
|
||||
|
@ -806,9 +813,7 @@ struct th_rewriter_cfg : public default_rewriter_cfg {
|
|||
void set_substitution(expr_substitution * s) {
|
||||
reset();
|
||||
m_subst = s;
|
||||
m_rep.reset();
|
||||
for (auto kv : m_subst->sub())
|
||||
m_rep.insert(kv.m_key, kv.m_value);
|
||||
m_new_subst = true;
|
||||
}
|
||||
|
||||
void reset() {
|
||||
|
|
Loading…
Reference in a new issue