From ba25b16a8182e291b6bcc6e4c230a5178ee21ae8 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Wed, 16 Jan 2019 01:07:38 +0100 Subject: add log2 --- internal/hash/hash_func.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'internal/hash/hash_func.go') diff --git a/internal/hash/hash_func.go b/internal/hash/hash_func.go index 853412b..41c4fd5 100644 --- a/internal/hash/hash_func.go +++ b/internal/hash/hash_func.go @@ -1,9 +1,13 @@ package hash +// defaultHash is Chris Torek's hash function func defaultHash(key []byte) uint32 { var h uint32 for _, v := range key { - h = (h << 5) + h + uint32(v) + h = hash4b(h, v) } return h } + +func hash4a(h uint32, v byte) uint32 { return (h << 5) - h + uint32(v) } +func hash4b(h uint32, v byte) uint32 { return (h << 5) + h + uint32(v) } -- cgit v1.2.3