3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-04 10:20:23 +00:00

u_set replaced by indexed_uint_set (#6841)

* replace u_set by indexed_uint_set

* replace u_set by indexed_uint_set

* create insert-fresh and insert for indexed_uint_set to make use cases with non-fresh inserts easier

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* update nightly to pull arm

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* update nightly to pull arm

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fixing the build of lp_tst

* update nightly to pull arm

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* replace u_set by indexed_uint_set

* replace u_set by indexed_uint_set

* fixing the build of lp_tst

* remove unnecessery call to contains() before
insert to indexed_uint_set

* formatting, no check for contains()
 in indexed_uint_set, always init m_touched_rows to nullptr

---------

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Lev Nachmanson 2023-08-03 13:01:27 -10:00 committed by GitHub
parent 4637339091
commit f58b703ac5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 69 additions and 192 deletions

View file

@ -84,7 +84,7 @@ class core {
reslimit& m_reslim;
std::function<bool(lpvar)> m_relevant;
vector<lemma> * m_lemma_vec;
lp::u_set m_to_refine;
indexed_uint_set m_to_refine;
tangents m_tangents;
basics m_basics;
order m_order;
@ -99,7 +99,7 @@ class core {
grobner m_grobner;
emonics m_emons;
svector<lpvar> m_add_buffer;
mutable lp::u_set m_active_var_set;
mutable indexed_uint_set m_active_var_set;
reslimit m_nra_lim;
@ -118,18 +118,15 @@ public:
void insert_to_refine(lpvar j);
void erase_from_to_refine(lpvar j);
const lp::u_set& active_var_set () const { return m_active_var_set;}
const indexed_uint_set& active_var_set () const { return m_active_var_set;}
bool active_var_set_contains(unsigned j) const { return m_active_var_set.contains(j); }
void insert_to_active_var_set(unsigned j) const { m_active_var_set.insert(j); }
void insert_to_active_var_set(unsigned j) const {
m_active_var_set.insert(j);
}
void clear_active_var_set() const { m_active_var_set.clear(); }
void clear_active_var_set() const { m_active_var_set.reset(); }
void clear_and_resize_active_var_set() const {
m_active_var_set.clear();
m_active_var_set.resize(m_lar_solver.number_of_vars());
}
unsigned get_var_weight(lpvar) const;
reslimit& reslim() { return m_reslim; }