3
0
Fork 0
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:
nilsbecker 2018-12-10 22:49:08 +01:00
parent 0870760eb5
commit 6d2cf4f464
5 changed files with 115 additions and 26 deletions

View file

@ -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);

View file

@ -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); }