mirror of
https://github.com/Z3Prover/z3
synced 2025-06-07 14:43:23 +00:00
merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
f525f43e43
155 changed files with 3188 additions and 1043 deletions
|
@ -332,20 +332,10 @@ public:
|
|||
reset();
|
||||
}
|
||||
|
||||
void inc_ref() {
|
||||
#pragma omp critical (params)
|
||||
{
|
||||
m_ref_count++;
|
||||
}
|
||||
}
|
||||
void inc_ref() { m_ref_count++; }
|
||||
void dec_ref() {
|
||||
bool is_last;
|
||||
SASSERT(m_ref_count > 0);
|
||||
#pragma omp critical (params)
|
||||
{
|
||||
is_last = 0 == --m_ref_count;
|
||||
}
|
||||
if (is_last) dealloc(this);
|
||||
if (--m_ref_count == 0) dealloc(this);
|
||||
}
|
||||
|
||||
bool empty() const { return m_entries.empty(); }
|
||||
|
@ -576,27 +566,25 @@ void params_ref::copy(params_ref const & src) {
|
|||
void params_ref::copy_core(params const * src) {
|
||||
if (src == nullptr)
|
||||
return;
|
||||
svector<params::entry>::const_iterator it = src->m_entries.begin();
|
||||
svector<params::entry>::const_iterator end = src->m_entries.end();
|
||||
for (; it != end; ++it) {
|
||||
switch (it->second.m_kind) {
|
||||
for (auto const& p : src->m_entries) {
|
||||
switch (p.second.m_kind) {
|
||||
case CPK_BOOL:
|
||||
m_params->set_bool(it->first, it->second.m_bool_value);
|
||||
m_params->set_bool(p.first, p.second.m_bool_value);
|
||||
break;
|
||||
case CPK_UINT:
|
||||
m_params->set_uint(it->first, it->second.m_uint_value);
|
||||
m_params->set_uint(p.first, p.second.m_uint_value);
|
||||
break;
|
||||
case CPK_DOUBLE:
|
||||
m_params->set_double(it->first, it->second.m_double_value);
|
||||
m_params->set_double(p.first, p.second.m_double_value);
|
||||
break;
|
||||
case CPK_NUMERAL:
|
||||
m_params->set_rat(it->first, *(it->second.m_rat_value));
|
||||
m_params->set_rat(p.first, *(p.second.m_rat_value));
|
||||
break;
|
||||
case CPK_SYMBOL:
|
||||
m_params->set_sym(it->first, symbol::mk_symbol_from_c_ptr(it->second.m_sym_value));
|
||||
m_params->set_sym(p.first, symbol::mk_symbol_from_c_ptr(p.second.m_sym_value));
|
||||
break;
|
||||
case CPK_STRING:
|
||||
m_params->set_str(it->first, it->second.m_str_value);
|
||||
m_params->set_str(p.first, p.second.m_str_value);
|
||||
break;
|
||||
default:
|
||||
UNREACHABLE();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue