@@ -89,7 +89,7 @@ tactic * mk_qfnra_very_small_solver(ast_manager& m, params_ref const& p) {
89
89
p_i.set_bool (" shuffle_vars" , true );
90
90
// if ((i & 1) == 0)
91
91
// p_i.set_bool("randomize", false);
92
- ts.push_back (try_for (mk_qfnra_nlsat_tactic (m, p_i), 3 * 1000 ));
92
+ ts.push_back (mk_lazy_tactic (m, p_i, [&](ast_manager& m, params_ref const & p) { return try_for (mk_qfnra_nlsat_tactic (m, p_i), 3 * 1000 ); } ));
93
93
}
94
94
{
95
95
ts.push_back (mk_qfnra_nlsat_tactic (m, p));
@@ -147,7 +147,7 @@ tactic * mk_qfnra_small_solver(ast_manager& m, params_ref const& p) {
147
147
p_i.set_bool (" shuffle_vars" , true );
148
148
// if ((i & 1) == 0)
149
149
// p_i.set_bool("randomize", false);
150
- ts.push_back (try_for (mk_qfnra_nlsat_tactic (m, p_i), 5 * 1000 ));
150
+ ts.push_back (mk_lazy_tactic (m, p_i, [&](ast_manager& m, params_ref const & p) { return try_for (mk_qfnra_nlsat_tactic (m, p_i), 5 * 1000 ); } ));
151
151
}
152
152
{
153
153
ts.push_back (mk_qfnra_nlsat_tactic (m, p));
@@ -308,15 +308,20 @@ const double SMALL_THRESHOLD = 80.0;
308
308
const double MIDDLE_THRESHOLD = 300.0 ;
309
309
const double LARGE_THRESHOLD = 600.0 ;
310
310
tactic * mk_qfnra_mixed_solver (ast_manager& m, params_ref const & p) {
311
+ auto very_small_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_very_small_solver (m, p); });
312
+ auto small_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_small_solver (m, p); });
313
+ auto middle_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_middle_solver (m, p); });
314
+ auto large_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_large_solver (m, p); });
315
+ auto very_large_t = mk_lazy_tactic (m, p, [&](ast_manager& m, params_ref const & p) {return mk_qfnra_very_large_solver (m, p); });
311
316
return cond (mk_lt (mk_memory_probe (), mk_const_probe (VERY_SMALL_THRESHOLD)),
312
- mk_qfnra_very_small_solver (m, p) ,
317
+ very_small_t ,
313
318
cond (mk_lt (mk_memory_probe (), mk_const_probe (SMALL_THRESHOLD)),
314
- mk_qfnra_small_solver (m, p) ,
319
+ small_t ,
315
320
cond (mk_lt (mk_memory_probe (), mk_const_probe (MIDDLE_THRESHOLD)),
316
- mk_qfnra_middle_solver (m, p) ,
321
+ middle_t ,
317
322
cond (mk_lt (mk_memory_probe (), mk_const_probe (LARGE_THRESHOLD)),
318
- mk_qfnra_large_solver (m, p) ,
319
- mk_qfnra_very_large_solver (m, p)
323
+ large_t ,
324
+ very_large_t
320
325
)
321
326
)
322
327
)
0 commit comments