void extract(unsigned_vector& indices) { for (unsigned i = 0; i < m_indices.size(); ++i) { if (m_indices[i]) { indices.push_back(i); } } }
void accumulate(tbv const& t, unsigned_vector& acc) { ddnf_node* n = find(t); ptr_vector<ddnf_node> todo; todo.push_back(n); while (!todo.empty()) { n = todo.back(); todo.pop_back(); unsigned id = n->get_id(); if (m_marked[id]) continue; acc.push_back(id); m_marked[id] = true; unsigned sz = n->num_children(); for (unsigned i = 0; i < sz; ++i) { todo.push_back((*n)[i]); } } }
void udoc_relation::expand_column_vector(unsigned_vector& v, const udoc_relation* other) const { unsigned_vector orig; orig.swap(v); for (unsigned i = 0; i < orig.size(); ++i) { unsigned col, limit; if (orig[i] < get_num_cols()) { col = column_idx(orig[i]); limit = col + column_num_bits(orig[i]); } else { unsigned idx = orig[i] - get_num_cols(); col = get_num_bits() + other->column_idx(idx); limit = col + other->column_num_bits(idx); } for (; col < limit; ++col) { v.push_back(col); } } }
void push() { m_enum_consts_lim.push_back(m_enum_consts.size()); }
void tactic2solver::push_core() { m_scopes.push_back(m_assertions.size()); m_result = 0; }