3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 00:05:46 +00:00

bv2char and char2bv with Clemens

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-09-13 16:09:03 +02:00
parent 34f878fb97
commit f13ccf8969
7 changed files with 93 additions and 10 deletions

View file

@ -34,6 +34,8 @@ enum char_op_kind {
OP_CHAR_CONST,
OP_CHAR_LE,
OP_CHAR_TO_INT,
OP_CHAR_TO_BV,
OP_CHAR_FROM_BV,
OP_CHAR_IS_DIGIT
};
@ -91,8 +93,14 @@ public:
bool is_is_digit(expr const* e) const { return is_app_of(e, m_family_id, OP_CHAR_IS_DIGIT); }
bool is_char2bv(expr const* e) const { return is_app_of(e, m_family_id, OP_CHAR_TO_BV); }
bool is_bv2char(expr const* e) const { return is_app_of(e, m_family_id, OP_CHAR_FROM_BV); }
MATCH_UNARY(is_is_digit);
MATCH_UNARY(is_to_int);
MATCH_UNARY(is_char2bv);
MATCH_UNARY(is_bv2char);
MATCH_BINARY(is_le);
static unsigned max_char() { return zstring::max_char(); }