3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-04 21:31:22 +00:00

More work on trailing 0 analysis.

This commit is contained in:
mikolas 2016-04-04 11:31:23 +01:00 committed by Mikolas Janota
parent ddb6ae4eab
commit fced47386e
3 changed files with 4 additions and 4 deletions

View file

@ -20,7 +20,6 @@ Notes:
#include"bv_rewriter_params.hpp" #include"bv_rewriter_params.hpp"
#include"poly_rewriter_def.h" #include"poly_rewriter_def.h"
#include"ast_smt2_pp.h" #include"ast_smt2_pp.h"
#include"bv_trailing.h"
void bv_rewriter::updt_local_params(params_ref const & _p) { void bv_rewriter::updt_local_params(params_ref const & _p) {
@ -2094,8 +2093,7 @@ br_status bv_rewriter::mk_eq_core(expr * lhs, expr * rhs, expr_ref & result) {
} }
if (m_trailing) { if (m_trailing) {
bv_trailing bvt(m_mk_extract); st = m_rm_trailing.eq_remove_trailing(lhs, rhs, result);
st = bvt.eq_remove_trailing(lhs, rhs, result);
if (st != BR_FAILED) { if (st != BR_FAILED) {
TRACE("eq_remove_trailing", tout << mk_ismt2_pp(lhs, m()) << "\n=\n" << mk_ismt2_pp(rhs, m()) << "\n----->\n" << mk_ismt2_pp(result, m()) << "\n";); TRACE("eq_remove_trailing", tout << mk_ismt2_pp(lhs, m()) << "\n=\n" << mk_ismt2_pp(rhs, m()) << "\n----->\n" << mk_ismt2_pp(result, m()) << "\n";);
return st; return st;

View file

@ -23,6 +23,7 @@ Notes:
#include"bv_decl_plugin.h" #include"bv_decl_plugin.h"
#include"arith_decl_plugin.h" #include"arith_decl_plugin.h"
#include"mk_extract_proc.h" #include"mk_extract_proc.h"
#include"bv_trailing.h"
class bv_rewriter_core { class bv_rewriter_core {
protected: protected:
@ -47,6 +48,7 @@ public:
class bv_rewriter : public poly_rewriter<bv_rewriter_core> { class bv_rewriter : public poly_rewriter<bv_rewriter_core> {
mk_extract_proc m_mk_extract; mk_extract_proc m_mk_extract;
bv_trailing m_rm_trailing;
arith_util m_autil; arith_util m_autil;
bool m_hi_div0; bool m_hi_div0;
bool m_elim_sign_ext; bool m_elim_sign_ext;
@ -138,6 +140,7 @@ public:
bv_rewriter(ast_manager & m, params_ref const & p = params_ref()): bv_rewriter(ast_manager & m, params_ref const & p = params_ref()):
poly_rewriter<bv_rewriter_core>(m, p), poly_rewriter<bv_rewriter_core>(m, p),
m_mk_extract(m_util), m_mk_extract(m_util),
m_rm_trailing(m_mk_extract),
m_autil(m) { m_autil(m) {
updt_local_params(p); updt_local_params(p);
} }

View file

@ -17,7 +17,6 @@
#ifndef BV_TRAILING_H_ #ifndef BV_TRAILING_H_
#define BV_TRAILING_H_ #define BV_TRAILING_H_
#include"ast.h" #include"ast.h"
#include"bv_rewriter.h"
#include"rewriter_types.h" #include"rewriter_types.h"
#include"mk_extract_proc.h" #include"mk_extract_proc.h"
class bv_trailing { class bv_trailing {