3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-22 00:26:38 +00:00

test stub

This commit is contained in:
Jakob Rath 2023-06-15 11:53:06 +02:00
parent 136e819cb9
commit 40f794c5b4
3 changed files with 25 additions and 1 deletions

View file

@ -42,7 +42,7 @@ namespace polysat {
m_free_pvars(m_activity),
m_constraints(*this),
m_names(*this),
m_slicing(*this),
// m_slicing(*this),
m_search(*this) {
}
@ -148,6 +148,7 @@ namespace polysat {
m_trail.push_back(trail_instr_t::add_var_i);
m_free_pvars.mk_var_eh(v);
m_names.push_var(var(v)); // needs m_vars
m_slicing.add_var(sz);
return v;
}
@ -612,6 +613,7 @@ namespace polysat {
void solver::push_level() {
++m_level;
m_reinit_heads.push_back(m_clauses_to_reinit.size());
m_slicing.push_scope();
m_trail.push_back(trail_instr_t::inc_level_i);
}
@ -621,6 +623,7 @@ namespace polysat {
SASSERT(m_level >= num_levels);
unsigned const target_level = m_level - num_levels;
LOG("Pop " << num_levels << " levels (lvl " << m_level << " -> " << target_level << ")");
m_slicing.pop_scope(num_levels);
while (num_levels > 0) {
switch (m_trail.back()) {
case trail_instr_t::qhead_i: {

View file

@ -141,6 +141,7 @@ namespace polysat {
friend class constraint_manager;
friend class name_manager;
friend class scoped_solverv;
friend class scoped_solver_slicing;
friend class test_polysat;
friend class test_fi;
friend struct inf_resolve_evaluated;

View file

@ -1,8 +1,27 @@
#include "math/polysat/slicing.h"
#include "math/polysat/solver.h"
namespace polysat {
struct solver_scope_slicing {
reslimit lim;
};
class scoped_solver_slicing : public solver_scope_slicing, public solver {
public:
scoped_solver_slicing(): solver(lim) {}
slicing& sl() { return m_slicing; }
};
class test_slicing {
public:
static void test1() {
std::cout << __func__ << "\n";
scoped_solver_slicing s;
slicing& sl = s.sl();
pvar x = s.add_var(8);
}
};
@ -11,5 +30,6 @@ namespace polysat {
void tst_slicing() {
using namespace polysat;
test_slicing::test1();
std::cout << "ok\n";
}