3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-12 06:00:53 +00:00

remove using insert_if_not_there2

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-04-25 15:08:51 -07:00
parent 9ea1cf3c5c
commit a884201d62
47 changed files with 172 additions and 208 deletions

View file

@ -74,8 +74,7 @@ namespace datalog {
unsigned newIdx = m_el_numbers.size();
sym2num::entry* sym_e = m_el_numbers.insert_if_not_there2(sym, newIdx);
unsigned idx=sym_e->get_data().m_value;
unsigned idx = m_el_numbers.insert_if_not_there(sym, newIdx);
if (idx==newIdx) {
m_el_names.push_back(sym);
@ -117,10 +116,9 @@ namespace datalog {
unsigned newIdx = m_el_numbers.size();
el2num::entry* sym_e = m_el_numbers.insert_if_not_there2(el, newIdx);
unsigned idx=sym_e->get_data().m_value;
unsigned idx = m_el_numbers.insert_if_not_there(el, newIdx);
if (idx==newIdx) {
if (idx == newIdx) {
m_el_names.push_back(el);
SASSERT(m_el_names.size()==m_el_numbers.size());
}
@ -1315,8 +1313,7 @@ namespace datalog {
// index into fresh variable array.
// unsigned fresh_var_idx = 0;
obj_map<sort, unsigned_vector>::obj_map_entry* e = var_idxs.insert_if_not_there2(s, unsigned_vector());
unsigned_vector& vars = e->get_data().m_value;
unsigned_vector& vars = var_idxs.insert_if_not_there(s, unsigned_vector());
if (max_var >= vars.size()) {
SASSERT(vars.size() == max_var);
vars.push_back(fresh_vars.size());

View file

@ -64,11 +64,11 @@ namespace datalog {
}
rule_dependencies::item_set & rule_dependencies::ensure_key(func_decl * pred) {
deps_type::obj_map_entry * e = m_data.insert_if_not_there2(pred, 0);
if (!e->get_data().m_value) {
e->get_data().m_value = alloc(item_set);
auto& value = m_data.insert_if_not_there(pred, 0);
if (!value) {
value = alloc(item_set);
}
return *e->get_data().m_value;
return *value;
}
void rule_dependencies::insert(func_decl * depending, func_decl * master) {
@ -324,9 +324,9 @@ namespace datalog {
app * head = r->get_head();
SASSERT(head != 0);
func_decl * d = head->get_decl();
decl2rules::obj_map_entry* e = m_head2rules.insert_if_not_there2(d, 0);
if (!e->get_data().m_value) e->get_data().m_value = alloc(ptr_vector<rule>);
e->get_data().m_value->push_back(r);
auto& value = m_head2rules.insert_if_not_there(d, 0);
if (!value) value = alloc(ptr_vector<rule>);
value->push_back(r);
}
void rule_set::del_rule(rule * r) {