mirror of
https://github.com/Z3Prover/z3
synced 2025-08-02 09:20:22 +00:00
running updates to bv_solver (#4674)
* na 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> * na 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> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * dbg Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * bv Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * drat and fresh Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * move ackerman functionality Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * na Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * debugability Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * towards debugability Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com> * missing file 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 csp Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
4d1a2a2784
commit
d02b0cde7a
63 changed files with 3060 additions and 3095 deletions
|
@ -131,12 +131,8 @@ void bv_decl_plugin::finalize() {
|
|||
|
||||
DEC_REF(m_int2bv);
|
||||
DEC_REF(m_bv2int);
|
||||
vector<ptr_vector<func_decl> >::iterator it = m_bit2bool.begin();
|
||||
vector<ptr_vector<func_decl> >::iterator end = m_bit2bool.end();
|
||||
for (; it != end; ++it) {
|
||||
ptr_vector<func_decl> & ds = *it;
|
||||
for (auto& ds : m_bit2bool)
|
||||
DEC_REF(ds);
|
||||
}
|
||||
DEC_REF(m_mkbv);
|
||||
}
|
||||
|
||||
|
@ -829,6 +825,14 @@ bool bv_recognizers::is_bv2int(expr const* e, expr*& r) const {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool bv_recognizers::is_bit2bool(expr* e, expr*& bv, unsigned& idx) const {
|
||||
if (!is_bit2bool(e))
|
||||
return false;
|
||||
bv = to_app(e)->get_arg(0);
|
||||
idx = to_app(e)->get_parameter(0).get_int();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool bv_recognizers::mult_inverse(rational const & n, unsigned bv_size, rational & result) {
|
||||
if (n.is_one()) {
|
||||
result = n;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue