diff --git a/src/util/mpz.h b/src/util/mpz.h index c7c1a880f..3582f0ad1 100644 --- a/src/util/mpz.h +++ b/src/util/mpz.h @@ -676,6 +676,14 @@ public: int64 get_int64(mpz const & a) const; + bool is_uint(mpz const & a) const { return is_uint64(a) && get_uint64(a) < UINT_MAX; } + + unsigned get_uint(mpz const & a) const { SASSERT(is_uint(a)); return static_cast(get_uint64(a)); } + + bool is_int(mpz const & a) const { return is_int64(a) && INT_MIN < get_int64(a) && get_int64(a) < INT_MAX; } + + int get_int(mpz const & a) const { SASSERT(is_int(a)); return static_cast(get_int64(a)); } + double get_double(mpz const & a) const; std::string to_string(mpz const & a) const;