@@ -80,7 +80,7 @@ func insert(n *node, entry Entry) *node {
80
80
newNode .dataMap = newNode .dataMap .SetBit (index )
81
81
return newNode
82
82
}
83
- if newNode .dataMap .HasBit (index ) {
83
+ if newNode .dataMap .GetBit (index ) {
84
84
if newNode .entries [index ].Key () == entry .Key () {
85
85
newNode .entries [index ] = entry
86
86
return newNode
@@ -96,12 +96,12 @@ func insert(n *node, entry Entry) *node {
96
96
cNode .entries = append (cNode .entries , entry )
97
97
return newNode
98
98
}
99
- if ! newNode .dataMap .HasBit (index ) && ! newNode .nodeMap .HasBit (index ) { // insert directly
99
+ if ! newNode .dataMap .GetBit (index ) && ! newNode .nodeMap .GetBit (index ) { // insert directly
100
100
newNode .entries [index ] = entry
101
101
newNode .dataMap = newNode .dataMap .SetBit (index )
102
102
return newNode
103
103
}
104
- if newNode .nodeMap .HasBit (index ) { // insert into sub-node
104
+ if newNode .nodeMap .GetBit (index ) { // insert into sub-node
105
105
newNode .entries [index ] = insert (newNode .entries [index ].(* node ), entry )
106
106
return newNode
107
107
}
@@ -127,10 +127,10 @@ func insert(n *node, entry Entry) *node {
127
127
// returns nil if not found
128
128
func get (n * node , keyHash uint32 , key interface {}) Entry {
129
129
index := uint (mask (keyHash , n .level ))
130
- if n .dataMap .HasBit (index ) {
130
+ if n .dataMap .GetBit (index ) {
131
131
return n .entries [index ]
132
132
}
133
- if n .nodeMap .HasBit (index ) {
133
+ if n .nodeMap .GetBit (index ) {
134
134
return get (n .entries [index ].(* node ), keyHash , key )
135
135
}
136
136
if n .level == 6 { // get from collisionNode
@@ -150,19 +150,19 @@ func get(n *node, keyHash uint32, key interface{}) Entry {
150
150
func remove (n * node , keyHash uint32 , key interface {}) * node {
151
151
index := uint (mask (keyHash , n .level ))
152
152
newNode := n
153
- if n .dataMap .HasBit (index ) {
153
+ if n .dataMap .GetBit (index ) {
154
154
newNode .entries [index ] = nil
155
155
newNode .dataMap = newNode .dataMap .ClearBit (index )
156
156
return newNode
157
157
}
158
- if n .nodeMap .HasBit (index ) {
158
+ if n .nodeMap .GetBit (index ) {
159
159
subNode := newNode .entries [index ].(* node )
160
160
subNode = remove (subNode , keyHash , key )
161
161
// compress if only 1 entry exists in sub-node
162
162
if subNode .nodeMap .PopCount () == 0 && subNode .dataMap .PopCount () == 1 {
163
163
var e Entry
164
164
for i := uint (0 ); i < 32 ; i ++ {
165
- if subNode .dataMap .HasBit (i ) {
165
+ if subNode .dataMap .GetBit (i ) {
166
166
e = subNode .entries [i ]
167
167
break
168
168
}
@@ -210,9 +210,9 @@ func pushEntries(n *node, stop <-chan struct{}, out chan Entry) {
210
210
default :
211
211
index := uint (i )
212
212
switch {
213
- case n .dataMap .HasBit (index ):
213
+ case n .dataMap .GetBit (index ):
214
214
out <- e
215
- case n .nodeMap .HasBit (index ):
215
+ case n .nodeMap .GetBit (index ):
216
216
wg .Add (1 )
217
217
go func () {
218
218
defer wg .Done ()
0 commit comments