mirror of
https://github.com/Z3Prover/z3
synced 2025-09-07 10:11:25 +00:00
avoid creating full tables when negated variables are unitary, add lazy table infrastructure, fix coi_filter for relations, reduce dependencies on fixedpoing_parameters.hpp header file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0f9160a738
commit
716663b04a
40 changed files with 1221 additions and 126 deletions
|
@ -48,6 +48,7 @@ namespace datalog {
|
|||
class project_fn;
|
||||
class negation_filter_fn;
|
||||
class select_equal_and_project_fn;
|
||||
class negated_join_fn;
|
||||
|
||||
typedef ptr_vector<sparse_table> sp_table_vector;
|
||||
typedef map<table_signature, sp_table_vector *,
|
||||
|
@ -93,6 +94,20 @@ namespace datalog {
|
|||
virtual table_intersection_filter_fn * mk_filter_by_negation_fn(const table_base & t,
|
||||
const table_base & negated_obj, unsigned joined_col_cnt,
|
||||
const unsigned * t_cols, const unsigned * negated_cols);
|
||||
virtual table_intersection_join_filter_fn* mk_filter_by_negated_join_fn(
|
||||
const table_base & t,
|
||||
const table_base & src1,
|
||||
const table_base & src2,
|
||||
unsigned_vector const& t_cols,
|
||||
unsigned_vector const& src_cols,
|
||||
unsigned_vector const& src1_cols,
|
||||
unsigned_vector const& src2_cols);
|
||||
|
||||
static sparse_table const& get(table_base const&);
|
||||
static sparse_table& get(table_base&);
|
||||
static sparse_table const* get(table_base const*);
|
||||
static sparse_table* get(table_base*);
|
||||
|
||||
};
|
||||
|
||||
class entry_storage {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue