(value2 *arrayContainer)
| 641 | } |
| 642 | |
| 643 | func (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 | |
| 675 | func (bc *bitmapContainer) lazyORArray(value2 *arrayContainer) container { |
| 676 | answer := bc.clone().(*bitmapContainer) |
no test coverage detected