Exemple #1
0
 void tmp_clause::set(unsigned num_lits, literal const * lits, bool learned) {
     if (m_clause && m_clause->m_capacity < num_lits) {
         dealloc_svect(m_clause);
         m_clause = 0;
     }
     if (!m_clause) {
         void * mem = alloc_svect(char, clause::get_obj_size(num_lits));
         m_clause   = new (mem) clause(UINT_MAX, num_lits, lits, learned);
     }
void bit_vector::expand_to(unsigned new_capacity) {
    unsigned * new_data     = alloc_svect(unsigned, new_capacity);
    memset(new_data, 0, new_capacity * sizeof(unsigned));
    if (m_capacity > 0) {
        memcpy(new_data, m_data, m_capacity * sizeof(unsigned));
        dealloc_svect(m_data);
    }
    m_data     = new_data;
    m_capacity = new_capacity;
}