31 KISSAT_assert (kissat_is_zero_or_power_of_two (old_bytes_capacity / bytes));
34 const size_t old_size = old_bytes_size / bytes;
37 const unsigned ld_old_size = kissat_log2_ceiling_of_word (old_size);
38 new_capacity = ((size_t) 1) << ld_old_size;
41 KISSAT_assert (kissat_is_zero_or_power_of_two (new_capacity));
42 size_t new_bytes_capacity = new_capacity * bytes;
43 while (!kissat_aligned_word (new_bytes_capacity))
44 new_bytes_capacity <<= 1;
45 if (new_bytes_capacity == old_bytes_capacity)
50 s->allocated = s->begin + new_bytes_capacity;
51 s->end = s->begin + old_bytes_size;