mirror of
https://github.com/Z3Prover/z3
synced 2025-04-25 01:55:32 +00:00
mpf partial remainder draft
This commit is contained in:
parent
6895cc7cc6
commit
a7c66356ae
2 changed files with 182 additions and 42 deletions
|
@ -185,9 +185,6 @@ public:
|
|||
void mk_pinf(unsigned ebits, unsigned sbits, mpf & o);
|
||||
void mk_ninf(unsigned ebits, unsigned sbits, mpf & o);
|
||||
|
||||
std::string to_string_raw(mpf const & a);
|
||||
std::string to_string_hexfloat(mpf const & a);
|
||||
|
||||
unsynch_mpz_manager & mpz_manager(void) { return m_mpz_manager; }
|
||||
unsynch_mpq_manager & mpq_manager(void) { return m_mpq_manager; }
|
||||
|
||||
|
@ -226,6 +223,8 @@ protected:
|
|||
void round(mpf_rounding_mode rm, mpf & o);
|
||||
void round_sqrt(mpf_rounding_mode rm, mpf & o);
|
||||
|
||||
void prem(scoped_mpf & x, scoped_mpf const & y, mpf_exp_t const & exp_diff, bool partial);
|
||||
|
||||
void mk_round_inf(mpf_rounding_mode rm, mpf & o);
|
||||
|
||||
// Convert x into a mpz numeral. zm is the manager that owns o.
|
||||
|
@ -284,6 +283,10 @@ protected:
|
|||
}
|
||||
};
|
||||
|
||||
std::string to_string_raw(mpf const & a);
|
||||
std::string to_string_hexfloat(mpf const & a);
|
||||
scoped_mpf to_packed_mpf(bool sgn, mpf_exp_t exp, scoped_mpz const & sig, unsigned ebits, unsigned sbits, unsigned rbits);
|
||||
|
||||
public:
|
||||
powers2 m_powers2;
|
||||
};
|
||||
|
@ -291,6 +294,7 @@ public:
|
|||
class scoped_mpf : public _scoped_numeral<mpf_manager> {
|
||||
friend class mpf_manager;
|
||||
mpz & significand() { return get().significand; }
|
||||
const mpz & significand() const { return get().significand; }
|
||||
bool sign() const { return get().sign; }
|
||||
mpf_exp_t exponent() const { return get().exponent; }
|
||||
unsigned sbits() const { return get().sbits; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue