mirror of
https://github.com/Z3Prover/z3
synced 2025-06-23 22:33:40 +00:00
test stub
This commit is contained in:
parent
136e819cb9
commit
40f794c5b4
3 changed files with 25 additions and 1 deletions
|
@ -42,7 +42,7 @@ namespace polysat {
|
||||||
m_free_pvars(m_activity),
|
m_free_pvars(m_activity),
|
||||||
m_constraints(*this),
|
m_constraints(*this),
|
||||||
m_names(*this),
|
m_names(*this),
|
||||||
m_slicing(*this),
|
// m_slicing(*this),
|
||||||
m_search(*this) {
|
m_search(*this) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -148,6 +148,7 @@ namespace polysat {
|
||||||
m_trail.push_back(trail_instr_t::add_var_i);
|
m_trail.push_back(trail_instr_t::add_var_i);
|
||||||
m_free_pvars.mk_var_eh(v);
|
m_free_pvars.mk_var_eh(v);
|
||||||
m_names.push_var(var(v)); // needs m_vars
|
m_names.push_var(var(v)); // needs m_vars
|
||||||
|
m_slicing.add_var(sz);
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -612,6 +613,7 @@ namespace polysat {
|
||||||
void solver::push_level() {
|
void solver::push_level() {
|
||||||
++m_level;
|
++m_level;
|
||||||
m_reinit_heads.push_back(m_clauses_to_reinit.size());
|
m_reinit_heads.push_back(m_clauses_to_reinit.size());
|
||||||
|
m_slicing.push_scope();
|
||||||
m_trail.push_back(trail_instr_t::inc_level_i);
|
m_trail.push_back(trail_instr_t::inc_level_i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -621,6 +623,7 @@ namespace polysat {
|
||||||
SASSERT(m_level >= num_levels);
|
SASSERT(m_level >= num_levels);
|
||||||
unsigned const target_level = m_level - num_levels;
|
unsigned const target_level = m_level - num_levels;
|
||||||
LOG("Pop " << num_levels << " levels (lvl " << m_level << " -> " << target_level << ")");
|
LOG("Pop " << num_levels << " levels (lvl " << m_level << " -> " << target_level << ")");
|
||||||
|
m_slicing.pop_scope(num_levels);
|
||||||
while (num_levels > 0) {
|
while (num_levels > 0) {
|
||||||
switch (m_trail.back()) {
|
switch (m_trail.back()) {
|
||||||
case trail_instr_t::qhead_i: {
|
case trail_instr_t::qhead_i: {
|
||||||
|
|
|
@ -141,6 +141,7 @@ namespace polysat {
|
||||||
friend class constraint_manager;
|
friend class constraint_manager;
|
||||||
friend class name_manager;
|
friend class name_manager;
|
||||||
friend class scoped_solverv;
|
friend class scoped_solverv;
|
||||||
|
friend class scoped_solver_slicing;
|
||||||
friend class test_polysat;
|
friend class test_polysat;
|
||||||
friend class test_fi;
|
friend class test_fi;
|
||||||
friend struct inf_resolve_evaluated;
|
friend struct inf_resolve_evaluated;
|
||||||
|
|
|
@ -1,8 +1,27 @@
|
||||||
#include "math/polysat/slicing.h"
|
#include "math/polysat/slicing.h"
|
||||||
|
#include "math/polysat/solver.h"
|
||||||
|
|
||||||
namespace polysat {
|
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 {
|
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() {
|
void tst_slicing() {
|
||||||
using namespace polysat;
|
using namespace polysat;
|
||||||
|
test_slicing::test1();
|
||||||
std::cout << "ok\n";
|
std::cout << "ok\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue