mirror of
https://github.com/Z3Prover/z3
synced 2025-08-09 20:50:50 +00:00
improving performance for length constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e96f9de70b
commit
67f22d8d65
7 changed files with 142 additions and 124 deletions
|
@ -21,18 +21,27 @@ Revision History:
|
|||
|
||||
#include "ast/arith_decl_plugin.h"
|
||||
#include "smt/smt_context.h"
|
||||
#include "smt/theory_lra.h"
|
||||
#include "smt/theory_arith.h"
|
||||
|
||||
|
||||
namespace smt {
|
||||
class arith_value {
|
||||
context& m_ctx;
|
||||
context* m_ctx;
|
||||
ast_manager& m;
|
||||
arith_util a;
|
||||
theory_mi_arith* m_tha;
|
||||
theory_i_arith* m_thi;
|
||||
theory_lra* m_thr;
|
||||
public:
|
||||
arith_value(context& ctx);
|
||||
bool get_lo(expr* e, rational& lo, bool& strict);
|
||||
bool get_up(expr* e, rational& up, bool& strict);
|
||||
arith_value(ast_manager& m);
|
||||
void init(context* ctx);
|
||||
bool get_lo_equiv(expr* e, rational& lo, bool& strict);
|
||||
bool get_up_equiv(expr* e, rational& up, bool& strict);
|
||||
bool get_value(expr* e, rational& value);
|
||||
bool get_lo(expr* e, rational& lo, bool& strict) const;
|
||||
bool get_up(expr* e, rational& up, bool& strict) const;
|
||||
bool get_fixed(expr* e, rational& value) const;
|
||||
final_check_status final_check();
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue