diff options
Diffstat (limited to 'src/codegen/bitfield_unit.rs')
-rwxr-xr-x | src/codegen/bitfield_unit.rs | 65 |
1 files changed, 31 insertions, 34 deletions
diff --git a/src/codegen/bitfield_unit.rs b/src/codegen/bitfield_unit.rs index caab2dc6..a5a8ac77 100755 --- a/src/codegen/bitfield_unit.rs +++ b/src/codegen/bitfield_unit.rs @@ -1,19 +1,14 @@ #[repr(C)] #[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] -pub struct __BindgenBitfieldUnit<Storage, Align> -{ +pub struct __BindgenBitfieldUnit<Storage, Align> { storage: Storage, align: [Align; 0], } -impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> -{ +impl<Storage, Align> __BindgenBitfieldUnit<Storage, Align> { #[inline] pub const fn new(storage: Storage) -> Self { - Self { - storage, - align: [], - } + Self { storage, align: [] } } } @@ -28,12 +23,11 @@ where let byte_index = index / 8; let byte = self.storage.as_ref()[byte_index]; - let bit_index = - if cfg!(target_endian = "big") { - 7 - (index % 8) - } else { - index % 8 - }; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; let mask = 1 << bit_index; @@ -47,12 +41,11 @@ where let byte_index = index / 8; let byte = &mut self.storage.as_mut()[byte_index]; - let bit_index = - if cfg!(target_endian = "big") { - 7 - (index % 8) - } else { - index % 8 - }; + let bit_index = if cfg!(target_endian = "big") { + 7 - (index % 8) + } else { + index % 8 + }; let mask = 1 << bit_index; if val { @@ -66,18 +59,20 @@ where pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); - debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + debug_assert!( + (bit_offset + (bit_width as usize)) / 8 <= + self.storage.as_ref().len() + ); let mut val = 0; for i in 0..(bit_width as usize) { if self.get_bit(i + bit_offset) { - let index = - if cfg!(target_endian = "big") { - bit_width as usize - 1 - i - } else { - i - }; + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; val |= 1 << index; } } @@ -89,17 +84,19 @@ where pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) { debug_assert!(bit_width <= 64); debug_assert!(bit_offset / 8 < self.storage.as_ref().len()); - debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len()); + debug_assert!( + (bit_offset + (bit_width as usize)) / 8 <= + self.storage.as_ref().len() + ); for i in 0..(bit_width as usize) { let mask = 1 << i; let val_bit_is_set = val & mask == mask; - let index = - if cfg!(target_endian = "big") { - bit_width as usize - 1 - i - } else { - i - }; + let index = if cfg!(target_endian = "big") { + bit_width as usize - 1 - i + } else { + i + }; self.set_bit(index + bit_offset, val_bit_is_set); } } |