io: fix Elias gamma code reading
authorKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 9 Jun 2018 17:28:25 +0000 (19:28 +0200)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Sat, 9 Jun 2018 17:28:25 +0000 (19:28 +0200)
src/io/intcode.rs

index 5e35a15a9f8416dec264c2bb2edc942111d1e4f4..e876772df8d320e4ffe539d2278b4d9ea3c13a53 100644 (file)
@@ -71,11 +71,11 @@ fn read_rice(br: &mut BitReader, k: u8) -> BitReaderResult<u32> {
 }
 
 fn read_gamma(br: &mut BitReader) -> BitReaderResult<u32> {
-    let mut ret = 0;
+    let mut ret = 1;
     while br.read(1)? != 1 {
         ret = (ret << 1) | br.read(1)?;
     }
-    Ok(ret)
+    Ok(ret - 1)
 }
 
 fn read_gammap(br: &mut BitReader) -> BitReaderResult<u32> {