+ size_t resize_to;
+ if (self->num_elements - self->num_deleted + 2 > self->enlarge_threshold) {
+ /* double table size */
+ resize_to = self->num_buckets * 2;
+ if (resize_to <= self->num_buckets) {
+ abort();
+ }
+ } else {
+ /* no need to resize, we just clean up the deleted entries */
+ resize_to = self->num_buckets;
+ }