mirror of
https://github.com/Z3Prover/z3
synced 2025-08-03 18:00:23 +00:00
cleanup for pull request
This commit is contained in:
parent
6e508d4221
commit
a8586746be
7 changed files with 212 additions and 170 deletions
|
@ -381,6 +381,8 @@ class bv_util : public bv_recognizers {
|
|||
ast_manager & m_manager;
|
||||
bv_decl_plugin * m_plugin;
|
||||
|
||||
void log_mk_numeral(rational const & val, unsigned bv_size) const;
|
||||
|
||||
public:
|
||||
bv_util(ast_manager & m);
|
||||
|
||||
|
@ -434,7 +436,47 @@ public:
|
|||
app * mk_bvsmul_no_udfl(expr* m, expr* n) { return m_manager.mk_app(get_fid(), OP_BSMUL_NO_UDFL, n, m); }
|
||||
app * mk_bvumul_no_ovfl(expr* m, expr* n) { return m_manager.mk_app(get_fid(), OP_BUMUL_NO_OVFL, n, m); }
|
||||
|
||||
app * mk_bv(unsigned n, expr* const* es);
|
||||
app * mk_bv(unsigned n, expr* const* es) {
|
||||
app * r = m_manager.mk_app(get_fid(), OP_MKBV, n, es);
|
||||
|
||||
if (m_manager.has_trace_stream()) {
|
||||
for (unsigned i = 0; i < n; ++i) {
|
||||
if (!m_manager.is_true(es[i]) && !m_manager.is_true(es[i]))
|
||||
return r;
|
||||
}
|
||||
|
||||
if (m_plugin->log_constant_meaning_prelude(r)) {
|
||||
if (n % 4 == 0) {
|
||||
m_manager.trace_stream() << " #x";
|
||||
|
||||
m_manager.trace_stream() << std::hex;
|
||||
uint8_t hexDigit = 0;
|
||||
unsigned curLength = (4 - n % 4) % 4;
|
||||
for (unsigned i = 0; i < n; ++i) {
|
||||
hexDigit <<= 1;
|
||||
++curLength;
|
||||
if (m_manager.is_true(es[i])) {
|
||||
hexDigit |= 1;
|
||||
}
|
||||
if (curLength == 4) {
|
||||
m_manager.trace_stream() << hexDigit;
|
||||
hexDigit = 0;
|
||||
}
|
||||
}
|
||||
m_manager.trace_stream() << std::dec;
|
||||
} else {
|
||||
m_manager.trace_stream() << " #b";
|
||||
for (unsigned i = 0; i < n; ++i) {
|
||||
m_manager.trace_stream() << (m_manager.is_true(es[i]) ? 1 : 0);
|
||||
}
|
||||
}
|
||||
|
||||
m_manager.trace_stream() << ")\n";
|
||||
}
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue