3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-10-25 10:29:02 -07:00
parent 34e0e26e3d
commit 1ee2ba2a9b
17 changed files with 132 additions and 80 deletions

View file

@ -215,6 +215,13 @@ void func_interp::insert_new_entry(expr * const * args, expr * r) {
m_entries.push_back(new_entry);
}
void func_interp::del_entry(unsigned idx) {
auto* e = m_entries[idx];
m_entries[idx] = m_entries.back();
m_entries.pop_back();
e->deallocate(m(), m_arity);
}
bool func_interp::eval_else(expr * const * args, expr_ref & result) const {
if (m_else == nullptr)
return false;

View file

@ -109,6 +109,7 @@ public:
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 * get_entry(unsigned idx) const { return m_entries[idx]; }
void del_entry(unsigned idx);
expr * get_max_occ_result() const;
void compress();