Made changes based in reference implementation
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
01ef1ed311
commit
5d5f2413bf
10
fifo.go
10
fifo.go
|
@ -106,13 +106,13 @@ func (s *fifo) getValue(ad *adapter) (value int32) {
|
||||||
s.bcount--
|
s.bcount--
|
||||||
|
|
||||||
var level, k, tmp uint32
|
var level, k, tmp uint32
|
||||||
if value != 0 {
|
if value == 0 {
|
||||||
|
level = 0
|
||||||
|
k = ad.k0
|
||||||
|
} else {
|
||||||
level = 1
|
level = 1
|
||||||
k = ad.k1
|
k = ad.k1
|
||||||
value--
|
value--
|
||||||
} else {
|
|
||||||
level = 0
|
|
||||||
k = ad.k0
|
|
||||||
}
|
}
|
||||||
if k != 0 {
|
if k != 0 {
|
||||||
for s.bcount < k {
|
for s.bcount < k {
|
||||||
|
@ -125,7 +125,7 @@ func (s *fifo) getValue(ad *adapter) (value int32) {
|
||||||
s.bcount -= k
|
s.bcount -= k
|
||||||
s.bcache &= bitMask[s.bcount]
|
s.bcache &= bitMask[s.bcount]
|
||||||
}
|
}
|
||||||
if level != 0 {
|
if level == 1 {
|
||||||
ad.sum1 += uint32(value) - (ad.sum1 >> 4)
|
ad.sum1 += uint32(value) - (ad.sum1 >> 4)
|
||||||
if ad.k1 > 0 && ad.sum1 < shift16[ad.k1] {
|
if ad.k1 > 0 && ad.sum1 < shift16[ad.k1] {
|
||||||
ad.k1--
|
ad.k1--
|
||||||
|
|
Loading…
Reference in a new issue