MCPcopy
hub / github.com/RoaringBitmap/roaring / lazyIORArray

Method lazyIORArray

bitmapcontainer.go:643–673  ·  view source on GitHub ↗
(value2 *arrayContainer)

Source from the content-addressed store, hash-verified

641}
642
643func (bc *bitmapContainer) lazyIORArray(value2 *arrayContainer) container {
644 answer := bc
645 c := value2.getCardinality()
646 for k := 0; k+3 < c; k += 4 {
647 content := (*[4]uint16)(unsafe.Pointer(&value2.content[k]))
648 vc0 := content[0]
649 i0 := uint(vc0) >> 6
650 answer.bitmap[i0] = answer.bitmap[i0] | (uint64(1) << (vc0 % 64))
651
652 vc1 := content[1]
653 i1 := uint(vc1) >> 6
654 answer.bitmap[i1] = answer.bitmap[i1] | (uint64(1) << (vc1 % 64))
655
656 vc2 := content[2]
657 i2 := uint(vc2) >> 6
658 answer.bitmap[i2] = answer.bitmap[i2] | (uint64(1) << (vc2 % 64))
659
660 vc3 := content[3]
661 i3 := uint(vc3) >> 6
662 answer.bitmap[i3] = answer.bitmap[i3] | (uint64(1) << (vc3 % 64))
663 }
664
665 for k := c &^ 3; k < c; k++ {
666 vc := value2.content[k]
667 i := uint(vc) >> 6
668 answer.bitmap[i] = answer.bitmap[i] | (uint64(1) << (vc % 64))
669 }
670
671 answer.cardinality = invalidCardinality
672 return answer
673}
674
675func (bc *bitmapContainer) lazyORArray(value2 *arrayContainer) container {
676 answer := bc.clone().(*bitmapContainer)

Callers 2

lazyIORMethod · 0.95
lazyORArrayMethod · 0.80

Calls 1

getCardinalityMethod · 0.65

Tested by

no test coverage detected