3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 17:45:32 +00:00

add back dotnet after adding ;*.cs to path

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2019-10-07 20:07:55 -07:00
parent 5fa177a650
commit 66b38eac9f
6 changed files with 50 additions and 13 deletions

View file

@ -44,6 +44,7 @@ class bounded_int2bv_solver : public solver_na2as {
mutable obj_map<func_decl, rational> m_bv2offset;
mutable bv2int_rewriter_ctx m_rewriter_ctx;
mutable bv2int_rewriter_star m_rewriter;
mutable bool m_flushed;
public:
@ -57,7 +58,8 @@ public:
m_bv_fns(m),
m_int_fns(m),
m_rewriter_ctx(m, p, p.get_uint("max_bv_size", UINT_MAX)),
m_rewriter(m, m_rewriter_ctx)
m_rewriter(m, m_rewriter_ctx),
m_flushed(false)
{
solver::updt_params(p);
m_bounds.push_back(alloc(bound_manager, m));
@ -309,6 +311,7 @@ private:
void flush_assertions() const {
if (m_assertions.empty()) return;
m_flushed = true;
bound_manager& bm = *m_bounds.back();
for (expr* a : m_assertions) {
bm(a);
@ -338,13 +341,23 @@ private:
}
unsigned get_num_assertions() const override {
flush_assertions();
return m_solver->get_num_assertions();
if (m_flushed) {
flush_assertions();
return m_solver->get_num_assertions();
}
else {
return m_assertions.size();
}
}
expr * get_assertion(unsigned idx) const override {
flush_assertions();
return m_solver->get_assertion(idx);
if (m_flushed) {
flush_assertions();
return m_solver->get_assertion(idx);
}
else {
return m_assertions.get(idx);
}
}
};