From 5d5f2413bf893ce8f20f7a34d05df082159dcbef Mon Sep 17 00:00:00 2001 From: WeebDataHoarder <57538841+WeebDataHoarder@users.noreply.github.com> Date: Sat, 26 Feb 2022 15:59:04 +0100 Subject: [PATCH] Made changes based in reference implementation --- fifo.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fifo.go b/fifo.go index cbdcfba..3df68c4 100644 --- a/fifo.go +++ b/fifo.go @@ -106,13 +106,13 @@ func (s *fifo) getValue(ad *adapter) (value int32) { s.bcount-- var level, k, tmp uint32 - if value != 0 { + if value == 0 { + level = 0 + k = ad.k0 + } else { level = 1 k = ad.k1 value-- - } else { - level = 0 - k = ad.k0 } if k != 0 { for s.bcount < k { @@ -125,7 +125,7 @@ func (s *fifo) getValue(ad *adapter) (value int32) { s.bcount -= k s.bcache &= bitMask[s.bcount] } - if level != 0 { + if level == 1 { ad.sum1 += uint32(value) - (ad.sum1 >> 4) if ad.k1 > 0 && ad.sum1 < shift16[ad.k1] { ad.k1--