mirror of
https://github.com/Z3Prover/z3
synced 2025-06-20 04:43:39 +00:00
remove unneeded creation of tmp mpz_manager
This commit is contained in:
parent
6f7271a5e8
commit
009708ed07
2 changed files with 14 additions and 12 deletions
|
@ -2629,17 +2629,15 @@ namespace algebraic_numbers {
|
||||||
}
|
}
|
||||||
else if (a.is_basic()) {
|
else if (a.is_basic()) {
|
||||||
mpq const & v = basic_value(a);
|
mpq const & v = basic_value(a);
|
||||||
scoped_mpz neg_n(qm());
|
mpz neg_n;
|
||||||
qm().set(neg_n, v.numerator());
|
qm().set(neg_n, v.numerator());
|
||||||
qm().neg(neg_n);
|
qm().neg(neg_n);
|
||||||
unsynch_mpz_manager zmgr;
|
mpz coeffs[2] = { std::move(neg_n), qm().dup(v.denominator()) };
|
||||||
// FIXME: remove these copies
|
|
||||||
mpz coeffs[2] = { zmgr.dup(neg_n.get()), zmgr.dup(v.denominator()) };
|
|
||||||
out << "(";
|
out << "(";
|
||||||
upm().display(out, 2, coeffs, "#");
|
upm().display(out, 2, coeffs, "#");
|
||||||
out << ", 1)"; // first root of the polynomial d*# - n
|
out << ", 1)"; // first root of the polynomial d*# - n
|
||||||
zmgr.del(coeffs[0]);
|
qm().del(coeffs[0]);
|
||||||
zmgr.del(coeffs[1]);
|
qm().del(coeffs[1]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
algebraic_cell * c = a.to_algebraic();
|
algebraic_cell * c = a.to_algebraic();
|
||||||
|
@ -2679,17 +2677,15 @@ namespace algebraic_numbers {
|
||||||
}
|
}
|
||||||
else if (a.is_basic()) {
|
else if (a.is_basic()) {
|
||||||
mpq const & v = basic_value(a);
|
mpq const & v = basic_value(a);
|
||||||
scoped_mpz neg_n(qm());
|
mpz neg_n;
|
||||||
qm().set(neg_n, v.numerator());
|
qm().set(neg_n, v.numerator());
|
||||||
qm().neg(neg_n);
|
qm().neg(neg_n);
|
||||||
unsynch_mpz_manager zmgr;
|
mpz coeffs[2] = { std::move(neg_n), qm().dup(v.denominator()) };
|
||||||
// FIXME: remove these copies
|
|
||||||
mpz coeffs[2] = { zmgr.dup(neg_n.get()), zmgr.dup(v.denominator()) };
|
|
||||||
out << "(root-obj ";
|
out << "(root-obj ";
|
||||||
upm().display_smt2(out, 2, coeffs, "x");
|
upm().display_smt2(out, 2, coeffs, "x");
|
||||||
out << " 1)"; // first root of the polynomial d*# - n
|
out << " 1)"; // first root of the polynomial d*# - n
|
||||||
zmgr.del(coeffs[0]);
|
qm().del(coeffs[0]);
|
||||||
zmgr.del(coeffs[1]);
|
qm().del(coeffs[1]);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
algebraic_cell * c = a.to_algebraic();
|
algebraic_cell * c = a.to_algebraic();
|
||||||
|
|
|
@ -714,6 +714,12 @@ public:
|
||||||
return temp;
|
return temp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mpz dup(const mpz & source) {
|
||||||
|
mpz temp;
|
||||||
|
set(temp, source);
|
||||||
|
return temp;
|
||||||
|
}
|
||||||
|
|
||||||
void swap(mpz & a, mpz & b) { mpz_manager<SYNCH>::swap(a, b); }
|
void swap(mpz & a, mpz & b) { mpz_manager<SYNCH>::swap(a, b); }
|
||||||
|
|
||||||
void swap(mpq & a, mpq & b) {
|
void swap(mpq & a, mpq & b) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue