}
fn uval_to_sval0mp(uval: u32) -> i32 {
- if (uval & 1) != 0 { -((uval >> 1) as i32) }
+ if (uval & 1) != 0 { -(((uval + 1) >> 1) as i32) }
else { (uval >> 1) as i32 }
}
/// use nihav_core::io::intcode::{IntCodeWriter,IntCodeType};
///
/// let mut bw = BitWriter::new(Vec::new(), BitWriterMode::BE);
-/// bw.write_code_signed(IntCodeType::Gamma, 42)?;
+/// bw.write_code_signed(IntCodeType::Gamma, 42);
/// ````
pub trait IntCodeWriter {
/// Writes an unsigned integer code of requested type.
bw.write_code(UintCodeType::Gamma, 42);
bw.write_code(UintCodeType::GammaP, 42);
let data = bw.end();
- let mut br = BitReader::new(&data, BitReaderMode::BE);
let mut br = BitReader::new(&data, BitReaderMode::BE);
assert_eq!(br.read_code(UintCodeType::Golomb(5)).unwrap(), 42);