MCPcopy Create free account
hub / github.com/RomanKubiak/ctrlr / rehash

Function rehash

Source/Misc/lua/src/lua.c:9573–9589  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9571
9572
9573static void rehash (lua_State *L, Table *t, const TValue *ek) {
9574int nasize, na;
9575int nums[MAXBITS+1]; /* nums[i] = number of keys between 2^(i-1) and 2^i */
9576int i;
9577int totaluse;
9578for (i=0; i<=MAXBITS; i++) nums[i] = 0; /* reset counts */
9579nasize = numusearray(t, nums); /* count keys in array part */
9580totaluse = nasize; /* all those keys are integer keys */
9581totaluse += numusehash(t, nums, &nasize); /* count keys in hash part */
9582/* count extra key */
9583nasize += countint(ek, nums);
9584totaluse++;
9585/* compute new size for array part */
9586na = computesizes(nums, &nasize);
9587/* resize the table to new computed sizes */
9588resize(L, t, nasize, totaluse - na);
9589}
9590
9591
9592

Callers 1

newkeyFunction · 0.85

Calls 5

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

Tested by

no test coverage detected