|
** Hash for integers. To allow a good hash, use the remainder operator
** ('%'). If integer fits as a non-negative int, compute an int
** remainder, which is faster. Otherwise, use an unsigned-integer
** remainder, which uses all bits and ensures a non-negative result.
*/
static Node *hashint (const Table *t, lua_Integer i) {
lua_Unsigned ui = l_castS2U(i);
if (ui <= (unsigned int)INT_MAX)
return hashmod(t, cast_int(ui)); //------------------------------------------
else
return hashmod(t, ui);
}
Hi I'm a little confused ..
Why do you want to use“cast_int“ to force “ui” to int
Is it because it's faster to convert from unsigned long long to int?