mirror of
https://github.com/Z3Prover/z3
synced 2025-08-23 19:47:52 +00:00
add __copy__, __deepcopy__ as alias to translate on same context #1427. Add generalized Gaussian elimination as an option to first-pass NL solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
b78c538e02
commit
8dadd30db5
5 changed files with 32 additions and 7 deletions
|
@ -10,6 +10,7 @@ def_module_params('nlsat',
|
|||
('randomize', BOOL, True, "randomize selection of a witness in nlsat."),
|
||||
('max_conflicts', UINT, UINT_MAX, "maximum number of conflicts."),
|
||||
('shuffle_vars', BOOL, False, "use a random variable order."),
|
||||
('inline_vars', BOOL, False, "inline variables that can be isolated from equations"),
|
||||
('seed', UINT, 0, "random seed."),
|
||||
('factor', BOOL, True, "factor polynomials produced during conflict resolution.")
|
||||
))
|
||||
|
|
|
@ -154,6 +154,7 @@ namespace nlsat {
|
|||
bool m_randomize;
|
||||
bool m_random_order;
|
||||
unsigned m_random_seed;
|
||||
bool m_inline_vars;
|
||||
unsigned m_max_conflicts;
|
||||
|
||||
// statistics
|
||||
|
@ -210,6 +211,7 @@ namespace nlsat {
|
|||
m_max_conflicts = p.max_conflicts();
|
||||
m_random_order = p.shuffle_vars();
|
||||
m_random_seed = p.seed();
|
||||
m_inline_vars = p.inline_vars();
|
||||
m_ism.set_seed(m_random_seed);
|
||||
m_explain.set_simplify_cores(m_simplify_cores);
|
||||
m_explain.set_minimize_cores(min_cores);
|
||||
|
@ -1313,11 +1315,8 @@ namespace nlsat {
|
|||
m_explain.set_full_dimensional(is_full_dimensional());
|
||||
bool reordered = false;
|
||||
|
||||
#if 0
|
||||
// disabled
|
||||
if (!m_incremental)
|
||||
if (!m_incremental && m_inline_vars)
|
||||
simplify();
|
||||
#endif
|
||||
|
||||
if (!can_reorder()) {
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue