mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
smt-like logging of theory specific meaning of constants
This commit is contained in:
parent
0870760eb5
commit
6d2cf4f464
5 changed files with 115 additions and 26 deletions
|
@ -99,6 +99,7 @@ class mpz {
|
|||
friend class mpbq;
|
||||
friend class mpbq_manager;
|
||||
friend class mpz_stack;
|
||||
friend class bv_util;
|
||||
mpz & operator=(mpz const & other) { UNREACHABLE(); return *this; }
|
||||
public:
|
||||
mpz(int v):m_val(v), m_kind(mpz_small), m_owner(mpz_self), m_ptr(nullptr) {}
|
||||
|
@ -134,6 +135,7 @@ inline void swap(mpz & m1, mpz & m2) { m1.swap(m2); }
|
|||
|
||||
template<bool SYNCH = true>
|
||||
class mpz_manager {
|
||||
friend class bv_util;
|
||||
mutable small_object_allocator m_allocator;
|
||||
mutable omp_nest_lock_t m_lock;
|
||||
#define MPZ_BEGIN_CRITICAL() if (SYNCH) omp_set_nest_lock(&m_lock);
|
||||
|
|
|
@ -93,6 +93,8 @@ public:
|
|||
|
||||
void display_decimal(std::ostream & out, unsigned prec, bool truncate = false) const { return m().display_decimal(out, m_val, prec, truncate); }
|
||||
|
||||
void display_smt2(std::ostream & out) const { return m().display_smt2(out, m_val, false); }
|
||||
|
||||
bool is_uint64() const { return m().is_uint64(m_val); }
|
||||
|
||||
bool is_int64() const { return m().is_int64(m_val); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue