Lines Matching refs:bitoff

19 constexpr size_t FirstIdx(size_t bitoff) {
20 return bitoff / kBits;
46 size_t MaskBits(size_t data, size_t idx, size_t bitoff, size_t bitmax,
48 size_t mask = GetMask(idx == FirstIdx(bitoff), idx == LastIdx(bitmax),
49 bitoff, bitmax);
86 bool RawBitmapBase::Scan(size_t bitoff, size_t bitmax, bool is_set,
89 if (bitoff >= bitmax) {
92 size_t i = FirstIdx(bitoff);
94 size_t masked = MaskBits(data_[i], i, bitoff, bitmax, is_set);
108 bool RawBitmapBase::ReverseScan(size_t bitoff, size_t bitmax, bool is_set,
111 if (bitoff >= bitmax) {
116 size_t masked = MaskBits(data_[i], i, bitoff, bitmax, is_set);
123 if (i == FirstIdx(bitoff)) {
130 zx_status_t RawBitmapBase::Find(bool is_set, size_t bitoff, size_t bitmax,
132 if (!out || bitmax <= bitoff) {
135 size_t start = bitoff;
137 if (Scan(bitoff, bitmax, !is_set, &start) ||
141 if (Scan(start, start + run_len, is_set, &bitoff)) {
148 zx_status_t RawBitmapBase::ReverseFind(bool is_set, size_t bitoff, size_t bitmax,
150 if (!out || bitmax <= bitoff) {
155 if (ReverseScan(bitoff, bitmax, !is_set, &start)) {
160 if ((start - bitoff < run_len)) {
170 bool RawBitmapBase::Get(size_t bitoff, size_t bitmax, size_t* first) const {
172 if ((result = Scan(bitoff, bitmax, true, first)) && first) {
178 zx_status_t RawBitmapBase::Set(size_t bitoff, size_t bitmax) {
179 if (bitoff > bitmax || bitmax > size_) {
182 if (bitoff == bitmax) {
185 size_t first_idx = FirstIdx(bitoff);
188 data_[i] |= GetMask(i == first_idx, i == last_idx, bitoff, bitmax);
193 zx_status_t RawBitmapBase::Clear(size_t bitoff, size_t bitmax) {
194 if (bitoff > bitmax || bitmax > size_) {
197 if (bitoff == bitmax) {
200 size_t first_idx = FirstIdx(bitoff);
203 data_[i] &= ~(GetMask(i == first_idx, i == last_idx, bitoff, bitmax));