| 625 | } |
| 626 | |
| 627 | Y_FORCE_INLINE size_t ValueBitCount() const { |
| 628 | size_t nonZeroChunk = Mask.GetChunkCapacity() - 1; |
| 629 | while (nonZeroChunk != 0 && !Mask.Data[nonZeroChunk]) { |
| 630 | --nonZeroChunk; |
| 631 | } |
| 632 | return nonZeroChunk || Mask.Data[nonZeroChunk] |
| 633 | ? nonZeroChunk * BitsPerChunk + GetValueBitCount(TIntType(Mask.Data[nonZeroChunk])) |
| 634 | : 0; |
| 635 | } |
| 636 | |
| 637 | Y_PURE_FUNCTION Y_FORCE_INLINE bool Empty() const { |
| 638 | for (size_t i = 0; i < Mask.GetChunkCapacity(); ++i) { |
no test coverage detected