3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-05 02:40:24 +00:00

adding t-smt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-31 17:06:31 -08:00
parent 5f2720562b
commit 5f89ead54b
4 changed files with 193 additions and 3 deletions

41
src/smt/smt_parallel.h Normal file
View file

@ -0,0 +1,41 @@
/*++
Copyright (c) 2020 Microsoft Corporation
Module Name:
smt_parallel.h
Abstract:
Parallel SMT, portfolio loop specialized to SMT core.
Author:
nbjorner 2020-01-31
Revision History:
--*/
#pragma once
#include "smt/smt_context.h"
namespace smt {
class parallel {
context& ctx;
expr_ref_vector m_unit_trail;
obj_hashtable<expr> m_unit_set;
unsigned_vector m_unit_lim;
std::mutex m_mux;
public:
parallel(context& ctx): ctx(ctx), m_unit_trail(ctx.m) {}
lbool operator()(expr_ref_vector const& asms);
void add_unit(context& ctx, expr* e);
void get_units(unsigned idx, context& pctx);
};
}