157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
|
if (capacity * 8 / _capacity >= 6)
if (_capacity <= UINT32_MAX / 2)
_capacity *= 2;
if (_capacity < MIN_CAPACITY)
_capacity = MIN_CAPACITY;
_buckets = [self allocMemoryWithSize: sizeof(*_buckets)
count: _capacity];
memset(_buckets, 0, _capacity * sizeof(*_buckets));
if (of_hash_seed != 0)
#if defined(HAVE_ARC4RANDOM)
_rotate = arc4random() & 31;
#elif defined(HAVE_RANDOM)
_rotate = random() & 31;
#else
|
|
|
<
<
|
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
if (capacity * 8 / _capacity >= 6)
if (_capacity <= UINT32_MAX / 2)
_capacity *= 2;
if (_capacity < MIN_CAPACITY)
_capacity = MIN_CAPACITY;
_buckets = [self allocZeroedMemoryWithSize: sizeof(*_buckets)
count: _capacity];
if (of_hash_seed != 0)
#if defined(HAVE_ARC4RANDOM)
_rotate = arc4random() & 31;
#elif defined(HAVE_RANDOM)
_rotate = random() & 31;
#else
|
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
|
/*
* Don't downsize if we have an initial capacity or if we would fall
* below the minimum capacity.
*/
if ((capacity < _capacity && count > _count) || capacity < MIN_CAPACITY)
return;
buckets = [self allocMemoryWithSize: sizeof(*buckets)
count: capacity];
memset(buckets, 0, capacity * sizeof(*buckets));
for (uint32_t i = 0; i < _capacity; i++) {
if (_buckets[i] != NULL && _buckets[i] != &deleted) {
uint32_t j, last;
last = capacity;
|
|
|
<
<
|
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
/*
* Don't downsize if we have an initial capacity or if we would fall
* below the minimum capacity.
*/
if ((capacity < _capacity && count > _count) || capacity < MIN_CAPACITY)
return;
buckets = [self allocZeroedMemoryWithSize: sizeof(*buckets)
count: capacity];
for (uint32_t i = 0; i < _capacity; i++) {
if (_buckets[i] != NULL && _buckets[i] != &deleted) {
uint32_t j, last;
last = capacity;
|