147
}
148
// get top entries before resetting (if provider available)
150
>
if s.topKProvider != nil {
151
topK = s.topKProvider()
152
}
153
155
>
s.params.W = min(int(float64(s.params.W)*s.params.Grow.Ratio), s.params.Grow.MaxW)
156
>
s.seed0 = maphash.MakeSeed()
157
>
// we're resetting everything so might as well reseed now too
158
>
s.seeds = makeSeeds(numRows, s.src)
159
>
s.base = 0
160
>
s.cells = make([]uint32, s.params.W*numRows)
161
>
s.shadowRow = s.params.D // reset shadow to last row
162
>
s.skips, s.incs, s.reseedOps = 0, 0, 0
163
>
164
>
if len(topK) > 0 {
165
// restore top entries after resize. GetPass can in theory call back into maybeGrow,
166
// but we can just reset the counters each time to prevent that.