pub fn sign_extend(val: u64, bits: u32) -> i64Expand description
Arbitrary sign extension for manual mode API.
See BitReader::read_signed_bits for more information
It is assumed the input value has zeros for bits above the given position.
use bitter::{BitReader, LittleEndianReader};
let mut bits = LittleEndianReader::new(&[0x9c]);
bits.refill_lookahead();
let bits_to_read = 4;
let value = bits.peek(bits_to_read);
assert_eq!(value, 12);
assert_eq!(bitter::sign_extend(value, bits_to_read), -4);
bits.consume(bits_to_read);