mirror of
https://github.com/Z3Prover/z3
synced 2025-06-06 06:03:23 +00:00
port Grobner
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
a7418db611
commit
36db31e154
2 changed files with 12 additions and 2 deletions
|
@ -647,8 +647,17 @@ void nla_grobner::compute_basis_init(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool nla_grobner::canceled() const {
|
||||||
|
return c().lp_settings().get_cancel_flag();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool nla_grobner::done() const {
|
||||||
|
return m_num_of_equations >= c().m_nla_settings.grobner_eqs_threshold() || canceled();
|
||||||
|
}
|
||||||
|
|
||||||
bool nla_grobner::compute_basis_loop(){
|
bool nla_grobner::compute_basis_loop(){
|
||||||
while (m_num_of_equations < c().m_nla_settings.grobner_eqs_threshold()) {
|
while (!done()) {
|
||||||
if (compute_basis_step())
|
if (compute_basis_step())
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -119,7 +119,7 @@ bool simplify_processed_with_eq(equation*);
|
||||||
void simplify_to_process(equation*);
|
void simplify_to_process(equation*);
|
||||||
equation* pick_next();
|
equation* pick_next();
|
||||||
void set_gb_exhausted();
|
void set_gb_exhausted();
|
||||||
bool canceled() { return false; } // todo, implement
|
bool canceled() const;
|
||||||
void superpose(equation * eq1, equation * eq2);
|
void superpose(equation * eq1, equation * eq2);
|
||||||
void superpose(equation * eq);
|
void superpose(equation * eq);
|
||||||
bool find_b_c(const nex *ab, const nex* ac, nex_mul*& b, nex_mul*& c);
|
bool find_b_c(const nex *ab, const nex* ac, nex_mul*& b, nex_mul*& c);
|
||||||
|
@ -160,5 +160,6 @@ bool simplify_processed_with_eq(equation*);
|
||||||
nex_mul * divide_ignore_coeffs_perform(nex_mul* , const nex*);
|
nex_mul * divide_ignore_coeffs_perform(nex_mul* , const nex*);
|
||||||
nex * expr_superpose(nex* e1, nex* e2, const nex* ab, const nex* ac, nex_mul* b, nex_mul* c);
|
nex * expr_superpose(nex* e1, nex* e2, const nex* ab, const nex* ac, nex_mul* b, nex_mul* c);
|
||||||
void add_mul_skip_first(nex_sum* r, const rational& beta, nex *e, nex_mul* c);
|
void add_mul_skip_first(nex_sum* r, const rational& beta, nex *e, nex_mul* c);
|
||||||
|
bool done() const;
|
||||||
}; // end of grobner
|
}; // end of grobner
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue