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

call it data instead of c_ptr for approaching C++11 std::vector convention.

This commit is contained in:
Nikolaj Bjorner 2021-04-13 18:17:10 -07:00
parent 524dcd35f9
commit 4a6083836a
456 changed files with 2802 additions and 2802 deletions

View file

@ -30,7 +30,7 @@ func_decl * mk_aux_decl_for_array_sort(ast_manager & m, sort * s) {
for (unsigned i = 0; i < arity; i++) {
domain.push_back(get_array_domain(s, i));
}
return m.mk_fresh_func_decl(symbol::null, symbol::null, arity, domain.c_ptr(), range);
return m.mk_fresh_func_decl(symbol::null, symbol::null, arity, domain.data(), range);
}
array_factory::array_factory(ast_manager & m, model_core & md):
@ -88,8 +88,8 @@ bool array_factory::mk_two_diff_values_for(sort * s) {
func_interp * fi2;
mk_array_interp(s, fi1);
mk_array_interp(s, fi2);
fi1->insert_entry(args.c_ptr(), r1);
fi2->insert_entry(args.c_ptr(), r2);
fi1->insert_entry(args.data(), r1);
fi2->insert_entry(args.data(), r2);
DEBUG_CODE({
value_set * set = 0;
SASSERT(m_sort2value_set.find(s, set) && set->size() >= 2);
@ -175,8 +175,8 @@ expr * array_factory::get_fresh_value(sort * s) {
if (found) {
func_interp * fi;
expr * val = mk_array_interp(s, fi);
fi->insert_entry(args1.c_ptr(), v1);
fi->insert_entry(args2.c_ptr(), v2);
fi->insert_entry(args1.data(), v1);
fi->insert_entry(args2.data(), v2);
return val;
}
}

View file

@ -146,7 +146,7 @@ void func_interp::set_else(expr * e) {
ptr_vector<expr> args;
while (e && is_fi_entry_expr(e, args)) {
insert_entry(args.c_ptr(), to_app(e)->get_arg(1));
insert_entry(args.data(), to_app(e)->get_arg(1));
e = to_app(e)->get_arg(2);
}
@ -348,7 +348,7 @@ expr * func_interp::get_interp_core() const {
eqs.push_back(m().mk_eq(vars[i], curr->get_arg(i)));
}
SASSERT(eqs.size() == m_arity);
expr * cond = mk_and(m(), eqs.size(), eqs.c_ptr());
expr * cond = mk_and(m(), eqs.size(), eqs.data());
expr * th = curr->get_result();
if (m().is_true(th)) {
r = m().is_false(r) ? cond : m().mk_or(cond, r);
@ -393,13 +393,13 @@ expr_ref func_interp::get_array_interp_core(func_decl * f) const {
vars.push_back(m().mk_var(m_arity - i - 1, sorts.back()));
}
r = sub(r, vars);
r = m().mk_lambda(sorts.size(), sorts.c_ptr(), var_names.c_ptr(), r);
r = m().mk_lambda(sorts.size(), sorts.data(), var_names.data(), r);
return r;
}
expr_ref_vector args(m());
array_util autil(m());
sort_ref A(autil.mk_array_sort(domain.size(), domain.c_ptr(), m_else->get_sort()), m());
sort_ref A(autil.mk_array_sort(domain.size(), domain.data(), m_else->get_sort()), m());
r = autil.mk_const_array(A, m_else);
for (func_entry * curr : m_entries) {
expr * res = curr->get_result();
@ -448,7 +448,7 @@ func_interp * func_interp::translate(ast_translation & translator) const {
ptr_buffer<expr> new_args;
for (unsigned i = 0; i < m_arity; i++)
new_args.push_back(translator(curr->get_arg(i)));
new_fi->insert_new_entry(new_args.c_ptr(), translator(curr->get_result()));
new_fi->insert_new_entry(new_args.data(), translator(curr->get_result()));
}
new_fi->set_else(translator(m_else));
return new_fi;

View file

@ -107,7 +107,7 @@ public:
unsigned num_entries() const { return m_entries.size(); }
ptr_vector<func_entry>::const_iterator begin() const { return m_entries.begin(); }
ptr_vector<func_entry>::const_iterator end() const { return m_entries.end(); }
func_entry const * const * get_entries() const { return m_entries.c_ptr(); }
func_entry const * const * get_entries() const { return m_entries.data(); }
func_entry const * get_entry(unsigned idx) const { return m_entries[idx]; }
void del_entry(unsigned idx);

View file

@ -49,7 +49,7 @@ model::model(ast_manager & m):
model::~model() {
for (auto & kv : m_usort2universe) {
m.dec_ref(kv.m_key);
m.dec_array_ref(kv.m_value->size(), kv.m_value->c_ptr());
m.dec_array_ref(kv.m_value->size(), kv.m_value->data());
dealloc(kv.m_value);
}
}
@ -73,7 +73,7 @@ void model::copy_func_interps(model const & source) {
void model::copy_usort_interps(model const & source) {
for (auto const& kv : source.m_usort2universe)
register_usort(kv.m_key, kv.m_value->size(), kv.m_value->c_ptr());
register_usort(kv.m_key, kv.m_value->size(), kv.m_value->data());
}
model * model::copy() const {
@ -161,7 +161,7 @@ void model::register_usort(sort * s, unsigned usize, expr * const * universe) {
u->append(usize, universe);
}
else {
m.dec_array_ref(u->size(), u->c_ptr());
m.dec_array_ref(u->size(), u->data());
u->reset();
u->append(usize, universe);
}
@ -190,7 +190,7 @@ model * model::translate(ast_translation & translator) const {
}
res->register_usort(translator(kv.m_key),
new_universe.size(),
new_universe.c_ptr());
new_universe.data());
}
return res;
@ -469,7 +469,7 @@ expr_ref model::cleanup_expr(top_sort& ts, expr* e, unsigned current_partition)
else if (f->is_skolem() && can_inline_def(ts, f) && (fi = get_func_interp(f)) &&
fi->get_interp() && (!ts.partition_ids().find(f, pid) || pid != current_partition)) {
var_subst vs(m, false);
new_t = vs(fi->get_interp(), args.size(), args.c_ptr());
new_t = vs(fi->get_interp(), args.size(), args.data());
}
else if (bv.is_bit2bool(t)) {
unsigned idx = f->get_parameter(0).get_int();
@ -482,7 +482,7 @@ expr_ref model::cleanup_expr(top_sort& ts, expr* e, unsigned current_partition)
}
#endif
else {
new_t = ts.m_rewrite.mk_app(f, args.size(), args.c_ptr());
new_t = ts.m_rewrite.mk_app(f, args.size(), args.data());
}
if (t != new_t.get()) trail.push_back(new_t);

View file

@ -73,7 +73,7 @@ static void mk_entry_cond(unsigned arity, func_entry const* entry, expr_ref& res
conjs.push_back(m.mk_eq(m.mk_var(i, e->get_sort()), e));
}
}
bool_rewriter(m).mk_and(conjs.size(), conjs.c_ptr(), result);
bool_rewriter(m).mk_and(conjs.size(), conjs.data(), result);
}
void model2expr(model& md, expr_ref& result) {
@ -113,7 +113,7 @@ void model2expr(model& md, expr_ref& result) {
for (unsigned j = 0; j < f->get_arity(); ++j) {
args.push_back(m.mk_var(j, f->get_domain(j)));
}
func = m.mk_app(f, args.size(), args.c_ptr());
func = m.mk_app(f, args.size(), args.data());
if (fi->is_partial()) {
if (num_entries == 0) {
continue;
@ -147,11 +147,11 @@ void model2expr(model& md, expr_ref& result) {
}
if (f->get_arity() > 0) {
var_subst vs(m, false);
tmp = vs(tmp, rev_vars.size(), rev_vars.c_ptr());
tmp = m.mk_forall(sorts.size(), sorts.c_ptr(), names.c_ptr(), tmp);
tmp = vs(tmp, rev_vars.size(), rev_vars.data());
tmp = m.mk_forall(sorts.size(), sorts.data(), names.data(), tmp);
}
conjs.push_back(tmp);
}
bool_rewriter(m).mk_and(conjs.size(), conjs.c_ptr(), result);
bool_rewriter(m).mk_and(conjs.size(), conjs.data(), result);
}

View file

@ -290,7 +290,7 @@ struct evaluator_cfg : public default_rewriter_cfg {
for (unsigned i = stores.size(); i-- > 0; ) {
expr_ref_vector args(m);
args.push_back(val);
args.append(stores[i].size(), stores[i].c_ptr());
args.append(stores[i].size(), stores[i].data());
val = m_ar.mk_store(args);
}
TRACE("model_evaluator", tout << val << "\n";);
@ -423,10 +423,10 @@ struct evaluator_cfg : public default_rewriter_cfg {
args2.push_back(b);
stores1.append(stores2);
for (unsigned i = 0; i < stores1.size(); ++i) {
args1.resize(1); args1.append(stores1[i].size() - 1, stores1[i].c_ptr());
args2.resize(1); args2.append(stores1[i].size() - 1, stores1[i].c_ptr());
expr_ref s1(m_ar.mk_select(args1.size(), args1.c_ptr()), m);
expr_ref s2(m_ar.mk_select(args2.size(), args2.c_ptr()), m);
args1.resize(1); args1.append(stores1[i].size() - 1, stores1[i].data());
args2.resize(1); args2.append(stores1[i].size() - 1, stores1[i].data());
expr_ref s1(m_ar.mk_select(args1.size(), args1.data()), m);
expr_ref s2(m_ar.mk_select(args2.size(), args2.data()), m);
conj.push_back(m.mk_eq(s1, s2));
}
result = mk_and(conj);
@ -481,19 +481,19 @@ struct evaluator_cfg : public default_rewriter_cfg {
// stores with smaller index take precedence
for (unsigned i = stores1.size(); i-- > 0; ) {
table1.insert(stores1[i].c_ptr());
table1.insert(stores1[i].data());
}
for (unsigned i = 0, sz = stores2.size(); i < sz; ++i) {
if (table2.contains(stores2[i].c_ptr())) {
if (table2.contains(stores2[i].data())) {
// first insertion takes precedence.
TRACE("model_evaluator", tout << "duplicate " << stores2[i] << "\n";);
continue;
}
table2.insert(stores2[i].c_ptr());
table2.insert(stores2[i].data());
expr * const* args = nullptr;
expr* val = stores2[i][arity];
if (table1.find(stores2[i].c_ptr(), args)) {
if (table1.find(stores2[i].data(), args)) {
TRACE("model_evaluator", tout << "found value " << stores2[i] << "\n";);
table1.remove(args);
switch (compare(args[arity], val)) {

View file

@ -582,10 +582,10 @@ void model_implicant::eval_array_eq(app* e, expr* arg1, expr* arg2) {
for (unsigned i = 0; i < store.size(); ++i) {
args1.resize(1);
args2.resize(1);
args1.append(store[i].size()-1, store[i].c_ptr());
args2.append(store[i].size()-1, store[i].c_ptr());
s1 = m_array.mk_select(args1.size(), args1.c_ptr());
s2 = m_array.mk_select(args2.size(), args2.c_ptr());
args1.append(store[i].size()-1, store[i].data());
args2.append(store[i].size()-1, store[i].data());
s1 = m_array.mk_select(args1.size(), args1.data());
s2 = m_array.mk_select(args2.size(), args2.data());
w1 = (*m_model)(s1);
w2 = (*m_model)(s2);
if (w1 == w2) {

View file

@ -263,7 +263,7 @@ static void pp_funs(std::ostream & out, ast_printer_context & ctx, model_core co
body.get())));
for (unsigned i = 0; i < f_i->num_entries(); i++)
f_entries.push_back(mk_string(m, ")"));
body = mk_compose(m, f_entries.size(), f_entries.c_ptr());
body = mk_compose(m, f_entries.size(), f_entries.data());
}
format_ref def(fm(m));
std::string fname;