3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-07 16:31:55 +00:00

adding parallel threads

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-01-30 02:09:08 -08:00
parent 962979b09c
commit 37ee4c95c3
13 changed files with 250 additions and 18 deletions

View file

@ -33,6 +33,7 @@ Revision History:
#include"sat_iff3_finder.h"
#include"sat_probing.h"
#include"sat_mus.h"
#include"sat_par.h"
#include"params.h"
#include"statistics.h"
#include"stopwatch.h"
@ -74,6 +75,7 @@ namespace sat {
config m_config;
stats m_stats;
extension * m_ext;
par* m_par;
random_gen m_rand;
clause_allocator m_cls_allocator;
cleaner m_cleaner;
@ -128,6 +130,10 @@ namespace sat {
literal_set m_assumption_set; // set of enabled assumptions
literal_vector m_core; // unsat core
unsigned m_par_limit_in;
unsigned m_par_limit_out;
unsigned m_par_num_vars;
void del_clauses(clause * const * begin, clause * const * end);
friend class integrity_checker;
@ -241,7 +247,9 @@ namespace sat {
m_num_checkpoints = 0;
if (memory::get_allocation_size() > m_config.m_max_memory) throw solver_exception(Z3_MAX_MEMORY_MSG);
}
void set_par(par* p);
bool canceled() { return !m_rlimit.inc(); }
config const& get_config() { return m_config; }
typedef std::pair<literal, literal> bin_clause;
protected:
watch_list & get_wlist(literal l) { return m_watches[l.index()]; }
@ -317,6 +325,8 @@ namespace sat {
bool check_model(model const & m) const;
void restart();
void sort_watch_lits();
void exchange_par();
lbool check_par(unsigned num_lits, literal const* lits);
// -----------------------
//