Skip to main content

copy_bit_if_set

Function copy_bit_if_set 

Source
unsafe fn copy_bit_if_set(
    src: *const u8,
    src_bit_idx: usize,
    dst: *mut u8,
    dst_bit_idx: usize,
)
Expand description

Read the bit at src_bit_idx from src and, if it is set, write a 1 to dst_bit_idx in dst. Leaves dst_bit_idx unchanged (zero) when the source bit is unset.

src = 0b00100000  (bit 5 is set)
copy_bit_if_set(src, 5, dst, 2)  →  dst bit 2 becomes 1

§Safety

  • src must be valid for reads up to byte src_bit_idx / 8.
  • dst must be valid for writes up to byte dst_bit_idx / 8.