mirror of
https://github.com/Z3Prover/z3
synced 2025-08-27 13:39:49 +00:00
optimizations to bv-solver and euf-egraph (#4698)
* additional bit-vector propagators Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * rename restrict (not a keyword, but well) #4694, tune euf Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * merge Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * add pb rewriting to pb2bv #4697 Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ed44a44579
commit
6f63f8761c
24 changed files with 206 additions and 116 deletions
|
@ -137,7 +137,7 @@ namespace datalog {
|
|||
return *e->get_data().get_value();
|
||||
}
|
||||
|
||||
void rule_dependencies::restrict(const item_set & allowed) {
|
||||
void rule_dependencies::restrict_dependencies(const item_set & allowed) {
|
||||
ptr_vector<func_decl> to_remove;
|
||||
for (auto const& kv : *this) {
|
||||
func_decl * pred = kv.m_key;
|
||||
|
@ -154,10 +154,8 @@ namespace datalog {
|
|||
|
||||
void rule_dependencies::remove(func_decl * itm) {
|
||||
remove_m_data_entry(itm);
|
||||
for (auto const& kv : *this) {
|
||||
item_set & itms = *kv.get_value();
|
||||
itms.remove(itm);
|
||||
}
|
||||
for (auto const& kv : *this)
|
||||
kv.get_value()->remove(itm);
|
||||
}
|
||||
|
||||
void rule_dependencies::remove(const item_set & to_remove) {
|
||||
|
|
|
@ -62,7 +62,7 @@ namespace datalog {
|
|||
|
||||
void populate(const rule_set & rules);
|
||||
void populate(unsigned n, rule * const * rules);
|
||||
void restrict(const item_set & allowed);
|
||||
void restrict_dependencies(const item_set & allowed);
|
||||
void remove(func_decl * itm);
|
||||
void remove(const item_set & to_remove);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue