• Home
  • Raw
  • Download

Lines Matching full:range

6 use std::ops::Range;
11 fn get_bit_range_u64(&self, range: Range<usize>) -> u64; in get_bit_range_u64()
15 fn set_bit_range_u64(&mut self, range: Range<usize>, val: u64); in set_bit_range_u64()
30 fn get_bit_range_u64(&self, range: Range<usize>) -> u64 {
31 assert!(!range.is_empty());
32 assert!(range.end <= self.bits());
34 let mask = <$ty>::MAX >> (self.bits() - range.len());
35 ((self >> range.start) & mask).into()
40 fn set_bit_range_u64(&mut self, range: Range<usize>, val: u64) {
41 assert!(!range.is_empty());
42 assert!(range.end <= self.bits());
44 let mask = <$ty>::MAX >> (self.bits() - range.len());
49 *self = (*self & !(mask << range.start)) | (val << range.start);
58 fn get_bit_range_u64(&self, range: Range<usize>) -> u64 {
59 assert!(!range.is_empty());
60 assert!(range.end <= self.bits());
62 let mask = u64_mask_for_bits(range.len());
65 let c0_idx = range.start / bits;
66 let c0_start = range.start % bits;
67 let chunks = (c0_start + range.len()).div_ceil(bits);
83 fn set_bit_range_u64(&mut self, range: Range<usize>, val: u64) {
84 assert!(!range.is_empty());
85 assert!(range.end <= self.bits());
87 let mask = u64_mask_for_bits(range.len());
91 let c0_idx = range.start / bits;
92 let c0_start = range.start % bits;
93 let chunks = (c0_start + range.len()).div_ceil(bits);
114 fn get_bit_range_u64(&self, range: Range<usize>) -> u64 {
115 self[..].get_bit_range_u64(range)
120 fn set_bit_range_u64(&mut self, range: Range<usize>, val: u64) {
121 self[..].set_bit_range_u64(range, val);
134 range: Range<usize>, field
143 range: 0..len, in new()
147 pub fn new_subset(parent: &'a BS, range: Range<usize>) -> Self { in new_subset()
148 assert!(range.end <= parent.bits()); in new_subset()
151 range: range, in new_subset()
157 range: Range<usize>, in subset()
159 BitView::new_subset(self, range) in subset()
162 fn range_in_parent(&self, range: Range<usize>) -> Range<usize> { in range_in_parent()
163 let new_start = self.range.start + range.start; in range_in_parent()
164 let new_end = self.range.start + range.end; in range_in_parent()
165 assert!(new_end <= self.range.end); in range_in_parent()
176 self.range.end - self.range.start in bits()
179 fn get_bit_range_u64(&self, range: Range<usize>) -> u64 { in get_bit_range_u64()
180 self.parent.get_bit_range_u64(self.range_in_parent(range)) in get_bit_range_u64()
186 range: Range<usize>, field
195 range: 0..len, in new()
199 pub fn new_subset(parent: &'a mut BS, range: Range<usize>) -> Self { in new_subset()
200 assert!(range.end <= parent.bits()); in new_subset()
203 range: range, in new_subset()
209 range: Range<usize>, in subset_mut()
211 BitMutView::new_subset(self, range) in subset_mut()
214 fn range_in_parent(&self, range: Range<usize>) -> Range<usize> { in range_in_parent()
215 let new_start = self.range.start + range.start; in range_in_parent()
216 let new_end = self.range.start + range.end; in range_in_parent()
217 assert!(new_end <= self.range.end); in range_in_parent()
233 self.range.end - self.range.start in bits()
236 fn get_bit_range_u64(&self, range: Range<usize>) -> u64 { in get_bit_range_u64()
237 self.parent.get_bit_range_u64(self.range_in_parent(range)) in get_bit_range_u64()
242 fn set_bit_range_u64(&mut self, range: Range<usize>, val: u64) { in set_bit_range_u64()
244 .set_bit_range_u64(self.range_in_parent(range), val); in set_bit_range_u64()
249 fn set_field_u64(&mut self, range: Range<usize>, val: u64); in set_field_u64()
253 fn set_field_u64(&mut self, range: Range<usize>, val: u64) { in set_field_u64()
254 let bits = range.end - range.start; in set_field_u64()
259 self.set_bit_range_u64(range, val); in set_field_u64()
264 fn set_field(&mut self, range: Range<usize>, val: T); in set_field()
268 fn set_field(&mut self, range: Range<usize>, val: u64) { in set_field()
269 self.set_field_u64(range, val); in set_field()
274 fn set_field(&mut self, range: Range<usize>, val: u32) { in set_field()
275 self.set_field(range, u64::from(val)); in set_field()
280 fn set_field(&mut self, range: Range<usize>, val: u16) { in set_field()
281 self.set_field(range, u64::from(val)); in set_field()
286 fn set_field(&mut self, range: Range<usize>, val: u8) { in set_field()
287 self.set_field(range, u64::from(val)); in set_field()
292 fn set_field(&mut self, range: Range<usize>, val: bool) { in set_field()
293 assert!(range.end == range.start + 1); in set_field()
294 self.set_field(range, u64::from(val)); in set_field()
309 fn set_field(&mut self, range: Range<usize>, val: i64) { in set_field()
310 let bits = range.end - range.start; in set_field()
320 self.set_field_u64(range, val & mask); in set_field()
325 fn set_field(&mut self, range: Range<usize>, val: i32) { in set_field()
326 self.set_field(range, i64::from(val)); in set_field()
331 fn set_field(&mut self, range: Range<usize>, val: i16) { in set_field()
332 self.set_field(range, i64::from(val)); in set_field()
337 fn set_field(&mut self, range: Range<usize>, val: i8) { in set_field()
338 self.set_field(range, i64::from(val)); in set_field()