IntersectAndTranspose is a matrix transpose function. Return a bitmap such that the values are represented as column IDs in the returned bitmap. This is accomplished by iterating over the foundSet and only including the column IDs in the source (foundSet) as compared with this BSI. This can be use
(parallelism int, foundSet *roaring.Bitmap)
| 598 | // the column IDs in the source (foundSet) as compared with this BSI. This can be useful for |
| 599 | // vectoring one set of integers to another. |
| 600 | func (b *BSI) IntersectAndTranspose(parallelism int, foundSet *roaring.Bitmap) *roaring.Bitmap { |
| 601 | if foundSet == nil { |
| 602 | foundSet = b.eBM |
| 603 | } |
| 604 | trans := &task{bsi: b} |
| 605 | return parallelExecutor(parallelism, trans, transpose, foundSet) |
| 606 | } |
| 607 | |
| 608 | func transpose(e *task, batch []uint32, resultsChan chan *roaring.Bitmap, wg *sync.WaitGroup) { |
| 609 |
no test coverage detected