mirror of
https://github.com/Z3Prover/z3
synced 2025-05-08 08:15:47 +00:00
Arith min max (#6864)
* prepare for dependencies Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * snapshot Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * more refactoring Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * more refactoring Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * build Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * pass in u_dependency_manager Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * address NYIs Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * more refactoring names Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * eq_explanation update Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * add outline of bounds improvement functionality Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * fix unit tests Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove unused structs Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * more bounds Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * more bounds Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * convert more internals to use u_dependency instead of constraint_index Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * convert more internals to use u_dependency instead of constraint_index Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remember to push/pop scopes Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * use the main function for updating bounds Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * remove reset of shared dep manager Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * disable improve-bounds, add statistics Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> --------- Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
c3b344ec47
commit
5e3df9ee77
40 changed files with 630 additions and 529 deletions
|
@ -34,7 +34,7 @@ class hnf_cutter {
|
|||
general_matrix m_A;
|
||||
vector<const lar_term*> m_terms;
|
||||
vector<bool> m_terms_upper;
|
||||
svector<constraint_index> m_constraints_for_explanation;
|
||||
ptr_vector<u_dependency> m_constraints_for_explanation;
|
||||
vector<mpq> m_right_sides;
|
||||
mpq m_abs_max;
|
||||
bool m_overflow;
|
||||
|
@ -55,13 +55,13 @@ private:
|
|||
unsigned terms_count() const { return m_terms.size(); }
|
||||
const mpq & abs_max() const { return m_abs_max; }
|
||||
const vector<const lar_term*>& terms() const { return m_terms; }
|
||||
const svector<unsigned>& constraints_for_explanation() const { return m_constraints_for_explanation; }
|
||||
const ptr_vector<u_dependency>& constraints_for_explanation() const { return m_constraints_for_explanation; }
|
||||
const vector<mpq> & right_sides() const { return m_right_sides; }
|
||||
|
||||
bool is_full() const;
|
||||
|
||||
void clear();
|
||||
void add_term(const lar_term* t, const mpq &rs, constraint_index ci, bool upper_bound);
|
||||
void add_term(const lar_term* t, const mpq &rs, u_dependency* ci, bool upper_bound);
|
||||
|
||||
void print(std::ostream & out);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue