mirror of
https://gitee.com/gitea/gitea.git
synced 2024-12-05 05:08:02 +08:00
24 lines
348 B
Go
24 lines
348 B
Go
|
package roaring
|
||
|
|
||
|
type manyIterable interface {
|
||
|
nextMany(hs uint32, buf []uint32) int
|
||
|
}
|
||
|
|
||
|
type manyIterator struct {
|
||
|
slice []uint16
|
||
|
loc int
|
||
|
}
|
||
|
|
||
|
func (si *manyIterator) nextMany(hs uint32, buf []uint32) int {
|
||
|
n := 0
|
||
|
l := si.loc
|
||
|
s := si.slice
|
||
|
for n < len(buf) && l < len(s) {
|
||
|
buf[n] = uint32(s[l]) | hs
|
||
|
l++
|
||
|
n++
|
||
|
}
|
||
|
si.loc = l
|
||
|
return n
|
||
|
}
|