mirror of
https://github.com/Z3Prover/z3
synced 2026-02-06 17:22:13 +00:00
normalize polynomials
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
653a4ece42
commit
1fe7359c7b
5 changed files with 39 additions and 17 deletions
|
|
@ -128,7 +128,7 @@ namespace polynomial {
|
|||
m_factor_cache.reset();
|
||||
}
|
||||
|
||||
unsigned pid(polynomial * p) const { return m.id(p); }
|
||||
unsigned pid(const polynomial * p) const { return m.id(p); }
|
||||
|
||||
polynomial * mk_unique(polynomial * p) {
|
||||
if (m_in_cache.get(pid(p), false))
|
||||
|
|
@ -141,6 +141,10 @@ namespace polynomial {
|
|||
return p_prime;
|
||||
}
|
||||
|
||||
bool contains(const polynomial * p) const {
|
||||
return m_in_cache.get(pid(p), false);
|
||||
}
|
||||
|
||||
void psc_chain(polynomial * p, polynomial * q, var x, polynomial_ref_vector & S) {
|
||||
p = mk_unique(p);
|
||||
q = mk_unique(q);
|
||||
|
|
@ -213,6 +217,10 @@ namespace polynomial {
|
|||
return m_imp->mk_unique(p);
|
||||
}
|
||||
|
||||
bool cache::contains(const polynomial * p) const {
|
||||
return m_imp->contains(p);
|
||||
}
|
||||
|
||||
void cache::psc_chain(polynomial const * p, polynomial const * q, var x, polynomial_ref_vector & S) {
|
||||
m_imp->psc_chain(const_cast<polynomial*>(p), const_cast<polynomial*>(q), x, S);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ namespace polynomial {
|
|||
manager & m() const;
|
||||
manager & pm() const { return m(); }
|
||||
polynomial * mk_unique(polynomial * p);
|
||||
bool contains(const polynomial * p) const;
|
||||
void psc_chain(polynomial const * p, polynomial const * q, var x, polynomial_ref_vector & S);
|
||||
void factor(polynomial const * p, polynomial_ref_vector & distinct_factors);
|
||||
void reset();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue