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:
parent
5fa177a650
commit
66b38eac9f
6 changed files with 50 additions and 13 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue