3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 13:28:47 +00:00

port Grobner

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-10-28 11:21:52 -07:00
parent a7418db611
commit 36db31e154
2 changed files with 12 additions and 2 deletions

View file

@ -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(){
while (m_num_of_equations < c().m_nla_settings.grobner_eqs_threshold()) {
while (!done()) {
if (compute_basis_step())
return true;
}

View file

@ -119,7 +119,7 @@ bool simplify_processed_with_eq(equation*);
void simplify_to_process(equation*);
equation* pick_next();
void set_gb_exhausted();
bool canceled() { return false; } // todo, implement
bool canceled() const;
void superpose(equation * eq1, equation * eq2);
void superpose(equation * eq);
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 * 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);
bool done() const;
}; // end of grobner
}