3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-14 12:58:44 +00:00

simplify code, issue #1028

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-05-16 08:32:08 -07:00
parent 7fab670719
commit ceec81de0b

View file

@ -440,20 +440,16 @@ br_status seq_rewriter::mk_app_core(func_decl * f, unsigned num_args, expr * con
* (seq.unit (_ BitVector 8)) ==> String constant * (seq.unit (_ BitVector 8)) ==> String constant
*/ */
br_status seq_rewriter::mk_seq_unit(expr* e, expr_ref& result) { br_status seq_rewriter::mk_seq_unit(expr* e, expr_ref& result) {
sort * s = m().get_sort(e);
bv_util bvu(m()); bv_util bvu(m());
rational n_val;
if (is_sort_of(s, bvu.get_family_id(), BV_SORT)) { unsigned int n_size;
// specifically we want (_ BitVector 8) // specifically we want (_ BitVector 8)
rational n_val; if (bvu.is_bv(e) && bvu.is_numeral(e, n_val, n_size) && n_size == 8) {
unsigned int n_size; // convert to string constant
if (bvu.is_numeral(e, n_val, n_size) && n_size == 8) { zstring str(n_val.get_unsigned());
// convert to string constant TRACE("seq", tout << "rewrite seq.unit of 8-bit value " << n_val.to_string() << " to string constant \"" << str<< "\"" << std::endl;);
zstring str(n_val.get_unsigned()); result = m_util.str.mk_string(str);
TRACE("seq", tout << "rewrite seq.unit of 8-bit value " << n_val.to_string() << " to string constant \"" << str<< "\"" << std::endl;); return BR_DONE;
result = m_util.str.mk_string(str);
return BR_DONE;
}
} }
return BR_FAILED; return BR_FAILED;