diff --git a/hashmap.go b/hashmap.go index 0b67819..243ae9c 100644 --- a/hashmap.go +++ b/hashmap.go @@ -14,7 +14,7 @@ const lower matchPosition = -1 type rbTreeNode struct { color color - keyHash int64 + keyHash uint64 key interface{} value interface{} @@ -28,11 +28,11 @@ type rbTreeNode struct { type rbTree struct { root *rbTreeNode - hashFunc func(interface{}) int64 + hashFunc func(interface{}) uint64 } // New creates a new hash map with supplied hashing function -func New(hashFunc func(i interface{}) int64) *rbTree { +func New(hashFunc func(i interface{}) uint64) *rbTree { return &rbTree{hashFunc: hashFunc} } @@ -352,7 +352,7 @@ func getRightmostNode(node *rbTreeNode) *rbTreeNode { return getRightmostNode(node.right) } -func findByKeyHash(node *rbTreeNode, key interface{}, keyHash int64) (res *rbTreeNode, found bool) { +func findByKeyHash(node *rbTreeNode, key interface{}, keyHash uint64) (res *rbTreeNode, found bool) { if node == nil { return } else if keyHash > node.keyHash && !isLeaf(node.right) { @@ -408,7 +408,7 @@ func rotateRight(root *rbTreeNode) { pivotRightChild.parent = root } -func findInsertionParent(n *rbTreeNode, keyHash int64) (*rbTreeNode, matchPosition) { +func findInsertionParent(n *rbTreeNode, keyHash uint64) (*rbTreeNode, matchPosition) { if keyHash > n.keyHash { if isLeaf(n.right) { return n, greater