Kaydet (Commit) 4ec44e85 authored tarafından Raymond Hettinger's avatar Raymond Hettinger

Replaced arbitrary addend in tuple_hash with one that is known to generate

many more prime multipliers and that performs well on collision tests.
üst 4e49b836
......@@ -256,6 +256,14 @@ Done:
return result;
}
/* The addend 82520, was selected from the range(0, 1000000) for
generating the greatest number of prime multipliers for tuples
upto length eight:
1082527, 1165049, 1082531, 1165057, 1247581, 1330103, 1082533,
1330111, 1412633, 1165069, 1247599, 1495177, 1577699
*/
static long
tuplehash(PyTupleObject *v)
{
......@@ -270,7 +278,7 @@ tuplehash(PyTupleObject *v)
if (y == -1)
return -1;
x = (x ^ y) * mult;
mult += 69068L + len + len;
mult += 82520L + len + len;
}
if (x == -1)
x = -2;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment