1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-08-13 17:03:46 -04:00

Simplify hash function to a single multiplication

More than likely the compiler will do the three operation breakdown we
had here before (2 shifts + subtraction), but let the compiler do the
optimizations and make the actual operation more obvious. This actually
slightly shrinks the function binary size, likely due to instruction
reordering or something.

Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Dan McGee 2011-12-29 11:24:38 -06:00
parent b264fb9e9d
commit 39cb865e71

View File

@ -1145,7 +1145,7 @@ unsigned long _alpm_hash_sdbm(const char *str)
return hash;
}
while((c = *str++)) {
hash = c + (hash << 6) + (hash << 16) - hash;
hash = c + hash * 65599;
}
return hash;