mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 09:35:32 +00:00
parent
64d157d81e
commit
c70e9af09d
5 changed files with 26 additions and 14 deletions
|
@ -22,7 +22,8 @@ Notes:
|
|||
#include "tactic/goal.h"
|
||||
|
||||
bound_manager::bound_manager(ast_manager & m):
|
||||
m_util(m) {
|
||||
m_util(m),
|
||||
m_bounded_vars(m) {
|
||||
}
|
||||
|
||||
bound_manager::~bound_manager() {
|
||||
|
@ -164,7 +165,6 @@ void bound_manager::insert_upper(expr * v, bool strict, numeral const & n, expr_
|
|||
m_upper_deps.insert(v, d);
|
||||
if (!m_lowers.contains(v)) {
|
||||
m_bounded_vars.push_back(v);
|
||||
m().inc_ref(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -185,7 +185,6 @@ void bound_manager::insert_lower(expr * v, bool strict, numeral const & n, expr_
|
|||
m_lower_deps.insert(v, d);
|
||||
if (!m_uppers.contains(v)) {
|
||||
m_bounded_vars.push_back(v);
|
||||
m().inc_ref(v);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -253,8 +252,8 @@ void bound_manager::operator()(goal const & g) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
void bound_manager::reset() {
|
||||
m().dec_array_ref(m_bounded_vars.size(), m_bounded_vars.c_ptr());
|
||||
m_bounded_vars.finalize();
|
||||
m_lowers.finalize();
|
||||
m_uppers.finalize();
|
||||
|
|
|
@ -34,7 +34,7 @@ private:
|
|||
obj_map<expr, limit> m_uppers;
|
||||
obj_map<expr, expr_dependency*> m_lower_deps;
|
||||
obj_map<expr, expr_dependency*> m_upper_deps;
|
||||
ptr_vector<expr> m_bounded_vars;
|
||||
expr_ref_vector m_bounded_vars;
|
||||
bool is_disjunctive_bound(expr * f, expr_dependency * d);
|
||||
bool is_equality_bound(expr * f, expr_dependency * d);
|
||||
bool is_numeral(expr* v, rational& n, bool& is_int);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue