mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
merge fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0c03a87c82
commit
8e80fb830b
|
@ -239,22 +239,15 @@ void mpf_manager::set(mpf & o, unsigned ebits, unsigned sbits, mpf_rounding_mode
|
|||
else {
|
||||
scoped_mpq sig(m_mpq_manager);
|
||||
scoped_mpz exp(m_mpq_manager);
|
||||
scoped_mpq pow(m_mpq_manager);
|
||||
|
||||
m_mpq_manager.set(sig, significand);
|
||||
m_mpq_manager.abs(sig);
|
||||
m_mpz_manager.set(exp, exponent);
|
||||
m_mpq_manager.set(pow, mpq(2));
|
||||
|
||||
|
||||
// Normalize
|
||||
unsigned loop = 0;
|
||||
while (m_mpq_manager.ge(sig, pow)) {
|
||||
m_mpq_manager.mul(pow, 2, pow);
|
||||
while (m_mpq_manager.ge(sig, 2)) {
|
||||
m_mpq_manager.div(sig, mpq(2), sig);
|
||||
m_mpz_manager.inc(exp);
|
||||
++loop;
|
||||
}
|
||||
if (loop > 0) {
|
||||
m_mpq_manager.div(sig, pow, sig);
|
||||
}
|
||||
|
||||
while (m_mpq_manager.lt(sig, 1)) {
|
||||
|
|
Loading…
Reference in a new issue