(bitmap []uint64, start int, end int)
| 160 | } |
| 161 | |
| 162 | func setBitmapRange(bitmap []uint64, start int, end int) { |
| 163 | if start >= end { |
| 164 | return |
| 165 | } |
| 166 | firstword := start / 64 |
| 167 | endword := (end - 1) / 64 |
| 168 | if firstword == endword { |
| 169 | bitmap[firstword] |= (^uint64(0) << uint(start%64)) & (^uint64(0) >> (uint(-end) % 64)) |
| 170 | return |
| 171 | } |
| 172 | bitmap[firstword] |= ^uint64(0) << uint(start%64) |
| 173 | for i := firstword + 1; i < endword; i++ { |
| 174 | bitmap[i] = ^uint64(0) |
| 175 | } |
| 176 | bitmap[endword] |= ^uint64(0) >> (uint(-end) % 64) |
| 177 | } |
| 178 | |
| 179 | func flipBitmapRangeAndCardinalityChange(bitmap []uint64, start int, end int) int { |
| 180 | before := wordCardinalityForBitmapRange(bitmap, start, end) |
no outgoing calls
no test coverage detected
searching dependent graphs…