mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
saved params work
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
parent
c3055207ed
commit
cf28cbab0a
130 changed files with 1469 additions and 948 deletions
|
@ -198,15 +198,15 @@ namespace nlsat {
|
|||
}
|
||||
|
||||
void updt_params(params_ref const & p) {
|
||||
m_max_memory = megabytes_to_bytes(p.get_uint(":max-memory", UINT_MAX));
|
||||
m_lazy = p.get_uint(":lazy", 0);
|
||||
m_simplify_cores = p.get_bool(":simplify-conflicts", true);
|
||||
bool min_cores = p.get_bool(":minimize-conflicts", false);
|
||||
m_reorder = p.get_bool(":reorder", true);
|
||||
m_randomize = p.get_bool(":randomize", true);
|
||||
m_max_conflicts = p.get_uint(":max-conflicts", UINT_MAX);
|
||||
m_random_order = p.get_bool(":shuffle-vars", false);
|
||||
m_random_seed = p.get_uint(":seed", 0);
|
||||
m_max_memory = megabytes_to_bytes(p.get_uint("max_memory", UINT_MAX));
|
||||
m_lazy = p.get_uint("lazy", 0);
|
||||
m_simplify_cores = p.get_bool("simplify_conflicts", true);
|
||||
bool min_cores = p.get_bool("minimize_conflicts", false);
|
||||
m_reorder = p.get_bool("reorder", true);
|
||||
m_randomize = p.get_bool("randomize", true);
|
||||
m_max_conflicts = p.get_uint("max_conflicts", UINT_MAX);
|
||||
m_random_order = p.get_bool("shuffle_vars", false);
|
||||
m_random_seed = p.get_uint("seed", 0);
|
||||
m_ism.set_seed(m_random_seed);
|
||||
m_explain.set_simplify_cores(m_simplify_cores);
|
||||
m_explain.set_minimize_cores(min_cores);
|
||||
|
@ -2572,13 +2572,13 @@ namespace nlsat {
|
|||
void solver::collect_param_descrs(param_descrs & d) {
|
||||
insert_max_memory(d);
|
||||
algebraic_numbers::manager::collect_param_descrs(d);
|
||||
d.insert(":max-conflicts", CPK_UINT, "(default: inf) maximum number of conflicts.");
|
||||
d.insert(":shuffle-vars", CPK_BOOL, "(default: false) use a variable order.");
|
||||
d.insert(":seed", CPK_UINT, "(default: 0) random seed.");
|
||||
d.insert(":randomize", CPK_BOOL, "(default: true) randomize selection of a witness in nlsat.");
|
||||
d.insert(":reorder", CPK_BOOL, "(default: true) reorder variables.");
|
||||
d.insert(":lazy", CPK_UINT, "(default: 0) how lazy the solver is.");
|
||||
d.insert(":simplify-conflicts", CPK_BOOL, "(default: true) simplify conflicts using equalities before resolving them in nlsat solver.");
|
||||
d.insert("max_conflicts", CPK_UINT, "(default: inf) maximum number of conflicts.");
|
||||
d.insert("shuffle_vars", CPK_BOOL, "(default: false) use a variable order.");
|
||||
d.insert("seed", CPK_UINT, "(default: 0) random seed.");
|
||||
d.insert("randomize", CPK_BOOL, "(default: true) randomize selection of a witness in nlsat.");
|
||||
d.insert("reorder", CPK_BOOL, "(default: true) reorder variables.");
|
||||
d.insert("lazy", CPK_UINT, "(default: 0) how lazy the solver is.");
|
||||
d.insert("simplify_conflicts", CPK_BOOL, "(default: true) simplify conflicts using equalities before resolving them in nlsat solver.");
|
||||
}
|
||||
|
||||
unsynch_mpq_manager & solver::qm() {
|
||||
|
|
|
@ -77,8 +77,8 @@ struct goal2nlsat::imp {
|
|||
}
|
||||
|
||||
void updt_params(params_ref const & p) {
|
||||
m_max_memory = megabytes_to_bytes(p.get_uint(":max-memory", UINT_MAX));
|
||||
m_factor = p.get_bool(":factor", true);
|
||||
m_max_memory = megabytes_to_bytes(p.get_uint("max_memory", UINT_MAX));
|
||||
m_factor = p.get_bool("factor", true);
|
||||
m_fparams.updt_params(p);
|
||||
}
|
||||
|
||||
|
@ -293,7 +293,7 @@ goal2nlsat::~goal2nlsat() {
|
|||
|
||||
void goal2nlsat::collect_param_descrs(param_descrs & r) {
|
||||
insert_max_memory(r);
|
||||
r.insert(":factor", CPK_BOOL, "(default: true) factor polynomials.");
|
||||
r.insert("factor", CPK_BOOL, "(default: true) factor polynomials.");
|
||||
polynomial::factor_params::get_param_descrs(r);
|
||||
}
|
||||
|
||||
|
|
|
@ -31,13 +31,13 @@ Notes:
|
|||
|
||||
tactic * mk_qfnra_nlsat_tactic(ast_manager & m, params_ref const & p) {
|
||||
params_ref main_p = p;
|
||||
main_p.set_bool(":elim-and", true);
|
||||
main_p.set_bool(":blast-distinct", true);
|
||||
main_p.set_bool("elim_and", true);
|
||||
main_p.set_bool("blast_distinct", true);
|
||||
params_ref purify_p = p;
|
||||
purify_p.set_bool(":complete", false); // temporary hack, solver does not support uninterpreted functions for encoding (div0 x) applications. So, we replace it application of this kind with an uninterpreted function symbol.
|
||||
purify_p.set_bool("complete", false); // temporary hack, solver does not support uninterpreted functions for encoding (div0 x) applications. So, we replace it application of this kind with an uninterpreted function symbol.
|
||||
|
||||
tactic * factor;
|
||||
if (p.get_bool(":factor", true))
|
||||
if (p.get_bool("factor", true))
|
||||
factor = mk_factor_tactic(m, p);
|
||||
else
|
||||
factor = mk_skip_tactic();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue