MCPcopy Index your code
hub / github.com/RoaringBitmap/roaring / resetTo

Method resetTo

arraycontainer.go:1008–1032  ·  view source on GitHub ↗
(a container)

Source from the content-addressed store, hash-verified

1006}
1007
1008func (ac *arrayContainer) resetTo(a container) {
1009 switch x := a.(type) {
1010 case *arrayContainer:
1011 ac.realloc(len(x.content))
1012 copy(ac.content, x.content)
1013
1014 case *bitmapContainer:
1015 ac.realloc(x.cardinality)
1016 x.fillArray(ac.content)
1017
1018 case *runContainer16:
1019 card := x.getCardinality()
1020 ac.realloc(card)
1021 cur := 0
1022 for _, r := range x.iv {
1023 for val := int(r.start); val <= int(r.last()); val++ {
1024 ac.content[cur] = uint16(val)
1025 cur++
1026 }
1027 }
1028
1029 default:
1030 panic("unsupported container type")
1031 }
1032}
1033
1034func (ac *arrayContainer) realloc(size int) {
1035 if cap(ac.content) < size {

Callers 3

AndAnyMethod · 0.45

Calls 4

reallocMethod · 0.95
fillArrayMethod · 0.80
lastMethod · 0.80
getCardinalityMethod · 0.65

Tested by 2