| 60 | } |
| 61 | |
| 62 | void Bitmask::add (const size_t id) |
| 63 | { |
| 64 | size_t element = static_cast<size_t> (div_floor (id, sizeof(size_t))); |
| 65 | while (element >= mask.size()) |
| 66 | mask.push_back(0); |
| 67 | if (exists(id)) |
| 68 | return; |
| 69 | |
| 70 | size_t add_mask = 1 << (id - (element * sizeof(size_t))); |
| 71 | mask[element] |= add_mask; |
| 72 | if (id < _max_nonrepair) |
| 73 | --holes; |
| 74 | } |
| 75 | |
| 76 | bool Bitmask::exists (const size_t id ) const |
| 77 | { |
no test coverage detected