summaryrefslogtreecommitdiff
path: root/src/codegen/bitfield_unit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/codegen/bitfield_unit.rs')
-rwxr-xr-xsrc/codegen/bitfield_unit.rs65
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);
}
}