mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
rename monomial to monic
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
cc5a12c5c7
commit
a0bdb8135d
30 changed files with 481 additions and 479 deletions
|
@ -27,7 +27,7 @@ bool const_iterator_mon::get_factors(factor& k, factor& j, rational& sign) const
|
|||
k.set(k_vars[0], factor_type::VAR);
|
||||
} else {
|
||||
unsigned i;
|
||||
if (!m_ff->find_canonical_monomial_of_vars(k_vars, i)) {
|
||||
if (!m_ff->find_canonical_monic_of_vars(k_vars, i)) {
|
||||
return false;
|
||||
}
|
||||
k.set(i, factor_type::MON);
|
||||
|
@ -37,7 +37,7 @@ bool const_iterator_mon::get_factors(factor& k, factor& j, rational& sign) const
|
|||
j.set(j_vars[0], factor_type::VAR);
|
||||
} else {
|
||||
unsigned i;
|
||||
if (!m_ff->find_canonical_monomial_of_vars(j_vars, i)) {
|
||||
if (!m_ff->find_canonical_monic_of_vars(j_vars, i)) {
|
||||
return false;
|
||||
}
|
||||
j.set(i, factor_type::MON);
|
||||
|
@ -47,7 +47,7 @@ bool const_iterator_mon::get_factors(factor& k, factor& j, rational& sign) const
|
|||
|
||||
factorization const_iterator_mon::operator*() const {
|
||||
if (m_full_factorization_returned == false) {
|
||||
return create_full_factorization(m_ff->m_monomial);
|
||||
return create_full_factorization(m_ff->m_monic);
|
||||
}
|
||||
factor j, k; rational sign;
|
||||
if (!get_factors(j, k, sign))
|
||||
|
@ -93,17 +93,17 @@ factorization const_iterator_mon::create_binary_factorization(factor j, factor k
|
|||
factorization f(nullptr);
|
||||
f.push_back(j);
|
||||
f.push_back(k);
|
||||
// Let m by *m_ff->m_monomial, the monomial we factorize
|
||||
// Let m by *m_ff->m_monic, the monic we factorize
|
||||
// We have canonize_sign(m)*m.vars() = m.rvars()
|
||||
// Let s = canonize_sign(f). Then we have f[0]*f[1] = s*m.rvars()
|
||||
// s*canonize_sign(m)*val(m).
|
||||
// Therefore val(m) = sign*val((f[0])*val(f[1]), where sign = canonize_sign(f)*canonize_sign(m).
|
||||
// We apply this sign to the first factor.
|
||||
f[0].sign() ^= (m_ff->canonize_sign(f)^m_ff->canonize_sign(*m_ff->m_monomial));
|
||||
f[0].sign() ^= (m_ff->canonize_sign(f)^m_ff->canonize_sign(*m_ff->m_monic));
|
||||
return f;
|
||||
}
|
||||
|
||||
factorization const_iterator_mon::create_full_factorization(const monomial* m) const {
|
||||
factorization const_iterator_mon::create_full_factorization(const monic* m) const {
|
||||
if (m != nullptr)
|
||||
return factorization(m);
|
||||
factorization f(nullptr);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue