(value2 *bitmapContainer)
| 938 | } |
| 939 | |
| 940 | func (bc *bitmapContainer) ixorBitmap(value2 *bitmapContainer) container { |
| 941 | newCardinality := int(popcntXorSlice(bc.bitmap, value2.bitmap)) |
| 942 | if newCardinality > arrayDefaultMaxSize { |
| 943 | for k := 0; k < len(bc.bitmap); k++ { |
| 944 | bc.bitmap[k] = bc.bitmap[k] ^ value2.bitmap[k] |
| 945 | } |
| 946 | bc.cardinality = newCardinality |
| 947 | return bc |
| 948 | } |
| 949 | ac := newArrayContainerSize(newCardinality) |
| 950 | fillArrayXOR(ac.content, bc.bitmap, value2.bitmap) |
| 951 | ac.content = ac.content[:newCardinality] |
| 952 | return ac |
| 953 | } |
| 954 | |
| 955 | func (bc *bitmapContainer) andNot(a container) container { |
| 956 | switch x := a.(type) { |
no test coverage detected