3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 17:15:31 +00:00

moving to resource managed cancellation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-12-11 13:36:47 -08:00
parent 32b6b2da44
commit 981f8226fe
15 changed files with 24 additions and 41 deletions

View file

@ -61,7 +61,8 @@ namespace algebraic_numbers {
algebraic_params::collect_param_descrs(r);
}
struct manager::imp {
struct manager::imp {
reslimit& m_limit;
manager & m_wrapper;
small_object_allocator & m_allocator;
unsynch_mpq_manager & m_qmanager;
@ -96,7 +97,8 @@ namespace algebraic_numbers {
unsigned m_compare_refine;
unsigned m_compare_poly_eq;
imp(manager & w, unsynch_mpq_manager & m, params_ref const & p, small_object_allocator & a):
imp(reslimit& lim, manager & w, unsynch_mpq_manager & m, params_ref const & p, small_object_allocator & a):
m_limit(lim),
m_wrapper(w),
m_allocator(a),
m_qmanager(m),
@ -2764,14 +2766,14 @@ namespace algebraic_numbers {
};
manager::manager(unsynch_mpq_manager & m, params_ref const & p, small_object_allocator * a) {
manager::manager(reslimit& lim, unsynch_mpq_manager & m, params_ref const & p, small_object_allocator * a) {
m_own_allocator = false;
m_allocator = a;
if (m_allocator == 0) {
m_own_allocator = true;
m_allocator = alloc(small_object_allocator, "algebraic");
}
m_imp = alloc(imp, *this, m, p, *m_allocator);
m_imp = alloc(imp, lim, *this, m, p, *m_allocator);
}
manager::~manager() {

View file

@ -28,6 +28,7 @@ Notes:
#include"tptr.h"
#include"statistics.h"
#include"params.h"
#include"rlimit.h"
class small_object_allocator;
class mpbq_manager;
@ -57,7 +58,7 @@ namespace algebraic_numbers {
typedef _scoped_numeral<manager> scoped_numeral;
typedef _scoped_numeral_vector<manager> scoped_numeral_vector;
manager(unsynch_mpq_manager & m, params_ref const & p = params_ref(), small_object_allocator * a = 0);
manager(reslimit& rl, unsynch_mpq_manager & m, params_ref const & p = params_ref(), small_object_allocator * a = 0);
~manager();
static void get_param_descrs(param_descrs & r);