3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-25 20:46:01 +00:00
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-08-15 11:47:34 -07:00
parent 4acdd952c2
commit f74d1fc8ec
4 changed files with 11 additions and 11 deletions

View file

@ -52,8 +52,8 @@ namespace nlsat {
// Since m_p_relation holds (lesser -> greater), we invert edges when populating dom: greater ▹ lesser.
std::vector<std::vector<bool>> m_prop_dom;
assignment const& sample() const { return m_solver.get_assignment();}
assignment & sample() { return m_solver.get_assignment(); }
assignment const& sample() const { return m_solver.sample();}
assignment & sample() { return m_solver.sample(); }
// max_x plays the role of n in algorith 1 of the levelwise paper.
impl(solver& solver, polynomial_ref_vector const& ps, var max_x, assignment const& s, pmanager& pm, anum_manager& am)

View file

@ -48,8 +48,8 @@ namespace nlsat {
bool m_signed_project;
bool m_cell_sample;
assignment const & sample() const { return m_solver.get_assignment(); }
assignment & sample() { return m_solver.get_assignment(); }
assignment const & sample() const { return m_solver.sample(); }
assignment & sample() { return m_solver.sample(); }
struct todo_set {
polynomial::cache & m_cache;
@ -264,7 +264,7 @@ namespace nlsat {
polynomial_ref f(m_pm);
for (unsigned i = 0; i < num_factors; i++) {
f = m_factors.get(i);
if (is_zero(sign(f, m_solver.get_assignment(), m_am))) {
if (is_zero(sign(f, m_solver.sample(), m_am))) {
m_zero_fs.push_back(m_factors.get(i));
m_is_even.push_back(false);
}
@ -321,7 +321,7 @@ namespace nlsat {
lc = m_pm.coeff(p, x, k, reduct);
TRACE(nlsat_explain, tout << "lc: " << lc << " reduct: " << reduct << "\n";);
if (!is_zero(lc)) {
if (!::is_zero(sign(lc, m_solver.get_assignment(), m_am))) {
if (!::is_zero(sign(lc, m_solver.sample(), m_am))) {
TRACE(nlsat_explain, tout << "lc does no vaninsh\n";);
return;
}
@ -409,7 +409,7 @@ namespace nlsat {
if (max_var(p) == max)
elim_vanishing(p); // eliminate vanishing coefficients of max
if (is_const(p) || max_var(p) < max) {
int s = sign(p, m_solver.get_assignment(), m_am);
int s = sign(p, m_solver.sample(), m_am);
if (!is_const(p)) {
SASSERT(max_var(p) != null_var);
SASSERT(max_var(p) < max);

View file

@ -4124,11 +4124,11 @@ namespace nlsat {
nlsat_params::collect_param_descrs(d);
}
const assignment &solver::get_assignment() const {
const assignment &solver::sample() const {
return m_imp->m_assignment;
}
assignment &solver::get_assignment() {
assignment &solver::sample() {
return m_imp->m_assignment;
}

View file

@ -244,8 +244,8 @@ namespace nlsat {
// -----------------------
void updt_params(params_ref const & p);
static void collect_param_descrs(param_descrs & d);
const assignment& get_assignment() const;
assignment& get_assignment();
const assignment& sample() const;
assignment& sample();
void reset();
void collect_statistics(statistics & st);