X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-core%2Fsrc%2Fio%2Fintcode.rs;h=6b45b77588f33327083d84b9dfe14d484bd02856;hp=55c8f859dd9a2fbc43df7dc8fb891207659aaeea;hb=63fcd784c5e808399f40166f1fe5bc494f24368b;hpb=e450979bd91939e6c729439ce84bd71bbd39d1f8 diff --git a/nihav-core/src/io/intcode.rs b/nihav-core/src/io/intcode.rs index 55c8f85..6b45b77 100644 --- a/nihav-core/src/io/intcode.rs +++ b/nihav-core/src/io/intcode.rs @@ -142,7 +142,7 @@ fn read_gammap(br: &mut BitReader) -> BitReaderResult { } 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 } } @@ -205,7 +205,7 @@ impl<'a> IntCodeReader for BitReader<'a> { /// 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. @@ -348,7 +348,6 @@ mod test { 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);