(value2 *arrayContainer)
| 575 | } |
| 576 | |
| 577 | func (bc *bitmapContainer) orArrayCardinality(value2 *arrayContainer) int { |
| 578 | answer := bc.getCardinality() |
| 579 | c := value2.getCardinality() |
| 580 | for k := 0; k < c; k++ { |
| 581 | // branchless: |
| 582 | v := value2.content[k] |
| 583 | i := uint(v) >> 6 |
| 584 | bef := bc.bitmap[i] |
| 585 | aft := bef | (uint64(1) << (v % 64)) |
| 586 | answer += int((bef - aft) >> 63) |
| 587 | } |
| 588 | return answer |
| 589 | } |
| 590 | |
| 591 | func (bc *bitmapContainer) orBitmap(value2 *bitmapContainer) container { |
| 592 | answer := newBitmapContainer() |
no test coverage detected