mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
Add support for prem_gcd in square_free
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
551d0b7de0
commit
2b5883454c
|
@ -3475,12 +3475,17 @@ namespace realclosure {
|
||||||
value_ref_buffer p_prime(*this);
|
value_ref_buffer p_prime(*this);
|
||||||
value_ref_buffer g(*this);
|
value_ref_buffer g(*this);
|
||||||
derivative(sz, p, p_prime);
|
derivative(sz, p, p_prime);
|
||||||
gcd(sz, p, p_prime.size(), p_prime.c_ptr(), g);
|
if (m_use_prem)
|
||||||
|
prem_gcd(sz, p, p_prime.size(), p_prime.c_ptr(), g);
|
||||||
|
else
|
||||||
|
gcd(sz, p, p_prime.size(), p_prime.c_ptr(), g);
|
||||||
if (g.size() <= 1) {
|
if (g.size() <= 1) {
|
||||||
r.append(sz, p);
|
r.append(sz, p);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
div(sz, p, g.size(), g.c_ptr(), r);
|
div(sz, p, g.size(), g.c_ptr(), r);
|
||||||
|
if (m_use_prem)
|
||||||
|
normalize_int_coeffs(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue