mirror of
https://github.com/Z3Prover/z3
synced 2025-08-21 02:30:23 +00:00
replace restore_size_trail by more generic restore_vector
other updates: - change signature of advance_qhead to simplify call sites - have model reconstruction replay work on a tail of dependent_expr state, while adding formulas to the tail.
This commit is contained in:
parent
6454014119
commit
85f9c7eefa
25 changed files with 80 additions and 59 deletions
|
@ -36,7 +36,6 @@ generic_model_converter::~generic_model_converter() {
|
|||
void generic_model_converter::add(func_decl * d, expr* e) {
|
||||
VERIFY(e);
|
||||
VERIFY(d->get_range() == e->get_sort());
|
||||
m_first_idx.insert_if_not_there(d, m_entries.size());
|
||||
m_entries.push_back(entry(d, e, m, ADD));
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,6 @@ private:
|
|||
ast_manager& m;
|
||||
std::string m_orig;
|
||||
vector<entry> m_entries;
|
||||
obj_map<func_decl, unsigned> m_first_idx;
|
||||
|
||||
expr_ref simplify_def(entry const& e);
|
||||
|
||||
|
@ -71,6 +70,8 @@ public:
|
|||
void get_units(obj_map<expr, bool>& units) override;
|
||||
|
||||
vector<entry> const& entries() const { return m_entries; }
|
||||
|
||||
void shrink(unsigned j) { m_entries.shrink(j); }
|
||||
};
|
||||
|
||||
typedef ref<generic_model_converter> generic_model_converter_ref;
|
||||
|
|
|
@ -101,6 +101,10 @@ typedef sref_buffer<model_converter> model_converter_ref_buffer;
|
|||
|
||||
model_converter * concat(model_converter * mc1, model_converter * mc2);
|
||||
|
||||
inline model_converter * concat(model_converter * mc1, model_converter * mc2, model_converter* mc3) {
|
||||
return concat(mc1, concat(mc2, mc3));
|
||||
}
|
||||
|
||||
model_converter * model2model_converter(model * m);
|
||||
|
||||
model_converter * model_and_labels2model_converter(model * m, labels_vec const &r);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue