MCPcopy Create free account
hub / github.com/bloomberg/comdb2 / rehash

Function rehash

lua/ltable.c:367–383  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

365
366
367static void rehash (lua_State *L, Table *t, const TValue *ek) {
368 int nasize, na;
369 int nums[MAXBITS+1]; /* nums[i] = number of keys between 2^(i-1) and 2^i */
370 int i;
371 int totaluse;
372 for (i=0; i<=MAXBITS; i++) nums[i] = 0; /* reset counts */
373 nasize = numusearray(t, nums); /* count keys in array part */
374 totaluse = nasize; /* all those keys are integer keys */
375 totaluse += numusehash(t, nums, &nasize); /* count keys in hash part */
376 /* count extra key */
377 nasize += countint(ek, nums);
378 totaluse++;
379 /* compute new size for array part */
380 na = computesizes(nums, &nasize);
381 /* resize the table to new computed sizes */
382 resize(L, t, nasize, totaluse - na);
383}
384
385
386

Callers 1

newkeyFunction · 0.70

Calls 5

numusearrayFunction · 0.85
numusehashFunction · 0.85
countintFunction · 0.85
computesizesFunction · 0.85
resizeFunction · 0.85

Tested by

no test coverage detected