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:
parent
524dcd35f9
commit
4a6083836a
456 changed files with 2802 additions and 2802 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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)) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue