mirror of
https://github.com/Z3Prover/z3
synced 2025-06-25 15:23:41 +00:00
add a parameter for debugging throttling
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
e66113d4c7
commit
71289d8c48
3 changed files with 9 additions and 0 deletions
|
@ -96,6 +96,10 @@ void order::order_lemma_on_binomial_sign(const monic& xy, lpvar x, lpvar y, int
|
|||
}
|
||||
|
||||
bool order::throttle_monic(const monic& ac, std::string const & debug_location ) { // todo - remove debug location!
|
||||
// Check if throttling is enabled
|
||||
if (!c().params().arith_nl_trl())
|
||||
return false;
|
||||
|
||||
// Check if this monic has already been processed using its variable ID
|
||||
if (m_processed_monics.contains(ac.var())) {
|
||||
TRACE(nla_solver, tout << "throttled at " << debug_location << "\n";);
|
||||
|
|
|
@ -200,6 +200,10 @@ void tangents::tangent_lemma() {
|
|||
}
|
||||
|
||||
bool tangents::throttle_plane(unsigned var, bool below, std::string const & debug_location) {
|
||||
// Check if throttling is enabled
|
||||
if (!c().params().arith_nl_trl())
|
||||
return false;
|
||||
|
||||
tangent_key key(var, below);
|
||||
|
||||
// Check if this (var, below) pair has already been processed
|
||||
|
|
|
@ -65,6 +65,7 @@ def_module_params(module_name='smt',
|
|||
('arith.nl.order', BOOL, True, 'run order lemmas'),
|
||||
('arith.nl.expp', BOOL, False, 'expensive patching'),
|
||||
('arith.nl.tangents', BOOL, True, 'run tangent lemmas'),
|
||||
('arith.nl.trl', BOOL, True, 'throttle repeated lemmas'),
|
||||
('arith.nl.horner', BOOL, True, 'run horner\'s heuristic'),
|
||||
('arith.nl.horner_subs_fixed', UINT, 2, '0 - no subs, 1 - substitute, 2 - substitute fixed zeros only'),
|
||||
('arith.nl.horner_frequency', UINT, 4, 'horner\'s call frequency'),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue