mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
working on parallel solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
1a6f8c2fad
25 changed files with 320 additions and 126 deletions
|
@ -2823,6 +2823,7 @@ namespace sat {
|
|||
pop(num_scopes);
|
||||
exchange_par();
|
||||
reinit_assumptions();
|
||||
m_stats.m_units = init_trail_size();
|
||||
}
|
||||
|
||||
void solver::pop(unsigned num_scopes) {
|
||||
|
@ -4032,25 +4033,11 @@ namespace sat {
|
|||
st.update("minimized lits", m_minimized_lits);
|
||||
st.update("dyn subsumption resolution", m_dyn_sub_res);
|
||||
st.update("blocked correction sets", m_blocked_corr_sets);
|
||||
st.update("units", m_units);
|
||||
}
|
||||
|
||||
void stats::reset() {
|
||||
m_mk_var = 0;
|
||||
m_mk_bin_clause = 0;
|
||||
m_mk_ter_clause = 0;
|
||||
m_mk_clause = 0;
|
||||
m_conflict = 0;
|
||||
m_propagate = 0;
|
||||
m_bin_propagate = 0;
|
||||
m_ter_propagate = 0;
|
||||
m_decision = 0;
|
||||
m_restart = 0;
|
||||
m_gc_clause = 0;
|
||||
m_del_clause = 0;
|
||||
m_minimized_lits = 0;
|
||||
m_dyn_sub_res = 0;
|
||||
m_non_learned_generation = 0;
|
||||
m_blocked_corr_sets = 0;
|
||||
memset(this, sizeof(*this), 0);
|
||||
}
|
||||
|
||||
void mk_stat::display(std::ostream & out) const {
|
||||
|
|
|
@ -67,6 +67,7 @@ namespace sat {
|
|||
unsigned m_dyn_sub_res;
|
||||
unsigned m_non_learned_generation;
|
||||
unsigned m_blocked_corr_sets;
|
||||
unsigned m_units;
|
||||
stats() { reset(); }
|
||||
void reset();
|
||||
void collect_statistics(statistics & st) const;
|
||||
|
|
|
@ -109,10 +109,10 @@ namespace sat {
|
|||
bool operator!=(watched const & w) const { return !operator==(w); }
|
||||
};
|
||||
|
||||
COMPILE_TIME_ASSERT(0 <= watched::BINARY && watched::BINARY <= 3);
|
||||
COMPILE_TIME_ASSERT(0 <= watched::TERNARY && watched::TERNARY <= 3);
|
||||
COMPILE_TIME_ASSERT(0 <= watched::CLAUSE && watched::CLAUSE <= 3);
|
||||
COMPILE_TIME_ASSERT(0 <= watched::EXT_CONSTRAINT && watched::EXT_CONSTRAINT <= 3);
|
||||
static_assert(0 <= watched::BINARY && watched::BINARY <= 3, "");
|
||||
static_assert(0 <= watched::TERNARY && watched::TERNARY <= 3, "");
|
||||
static_assert(0 <= watched::CLAUSE && watched::CLAUSE <= 3, "");
|
||||
static_assert(0 <= watched::EXT_CONSTRAINT && watched::EXT_CONSTRAINT <= 3, "");
|
||||
|
||||
struct watched_lt {
|
||||
bool operator()(watched const & w1, watched const & w2) const {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue