z80 branch, but with original (slightly more accurate) prob update

This commit is contained in:
2022-09-14 23:49:43 +02:00
parent a1dabaf7f9
commit f467b6a454

View File

@@ -33,13 +33,12 @@ impl<'a> Context<'a> {
pub fn update(&mut self, bit: bool) { pub fn update(&mut self, bit: bool) {
let old = self.state.contexts[self.index]; let old = self.state.contexts[self.index];
let offset = if !bit { if bit {
ONE_PROB as i32 >> UPDATE_RATE self.state.contexts[self.index] =
old - ((old as i32 + UPDATE_ADD) >> UPDATE_RATE) as u8;
} else { } else {
0 self.state.contexts[self.index] =
}; old + (((ONE_PROB as i32 - old as i32) + UPDATE_ADD) >> UPDATE_RATE) as u8;
}
self.state.contexts[self.index] =
(offset + old as i32 - ((old as i32 + UPDATE_ADD) >> UPDATE_RATE)) as u8;
} }
} }