]> git.nihav.org Git - nihav.git/blobdiff - nihav-core/src/io/intcode.rs
core/io: allow skipping right to the bitstream end
[nihav.git] / nihav-core / src / io / intcode.rs
index 55c8f859dd9a2fbc43df7dc8fb891207659aaeea..f05d64f0eebaa21b0fb1a6c3a802c4a65a838bde 100644 (file)
@@ -142,7 +142,7 @@ fn read_gammap(br: &mut BitReader) -> BitReaderResult<u32> {
 }
 
 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.