Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func hashByMultiplicationMethod(key string, tableSize int) int32 {
- keyChars := []rune(key)
- var keyChar int32
- constantA := 0.618
- for i := 0; i < len(keyChars); i++ {
- // try to make hashcode become different
- keyChar = keyChar + keyChars[i] + keyChar%11
- }
- hashResult := float64(tableSize) * math.Mod(float64(keyChar)*constantA, 1)
- return int32(math.Floor(hashResult))
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement