From f467b6a4544e2d4f60327693b734eea5f86e492a Mon Sep 17 00:00:00 2001 From: Dennis Ranke Date: Wed, 14 Sep 2022 23:49:43 +0200 Subject: [PATCH] z80 branch, but with original (slightly more accurate) prob update --- src/context_state.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/context_state.rs b/src/context_state.rs index b7a75f2..447c93b 100644 --- a/src/context_state.rs +++ b/src/context_state.rs @@ -33,13 +33,12 @@ impl<'a> Context<'a> { pub fn update(&mut self, bit: bool) { let old = self.state.contexts[self.index]; - let offset = if !bit { - ONE_PROB as i32 >> UPDATE_RATE + if bit { + self.state.contexts[self.index] = + old - ((old as i32 + UPDATE_ADD) >> UPDATE_RATE) as u8; } else { - 0 - }; - - self.state.contexts[self.index] = - (offset + old as i32 - ((old as i32 + UPDATE_ADD) >> UPDATE_RATE)) as u8; + self.state.contexts[self.index] = + old + (((ONE_PROB as i32 - old as i32) + UPDATE_ADD) >> UPDATE_RATE) as u8; + } } }