simple rolling windows code (#346)
This commit is contained in:
@@ -79,20 +79,9 @@ func (rw *RollingWindow) updateOffset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
offset := rw.offset
|
offset := rw.offset
|
||||||
start := offset + 1
|
|
||||||
steps := start + span
|
|
||||||
var remainder int
|
|
||||||
if steps > rw.size {
|
|
||||||
remainder = steps - rw.size
|
|
||||||
steps = rw.size
|
|
||||||
}
|
|
||||||
|
|
||||||
// reset expired buckets
|
// reset expired buckets
|
||||||
for i := start; i < steps; i++ {
|
for i := 0; i < span; i++ {
|
||||||
rw.win.resetBucket(i)
|
rw.win.resetBucket(offset + 1 + i)
|
||||||
}
|
|
||||||
for i := 0; i < remainder; i++ {
|
|
||||||
rw.win.resetBucket(i)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
rw.offset = (offset + span) % rw.size
|
rw.offset = (offset + span) % rw.size
|
||||||
|
|||||||
Reference in New Issue
Block a user