(bit uint)
| 46 | func (m *Shift2) NBits() uint { return 1 } |
| 47 | |
| 48 | func (m *Shift2) adapt(bit uint) { |
| 49 | switch bit { |
| 50 | case 1: |
| 51 | m.P0 += (MaxP/2 - m.P0) >> m.I0 |
| 52 | m.P1 += (MaxP/2 - m.P1) >> m.I1 |
| 53 | case 0: |
| 54 | m.P0 -= m.P0 >> m.I0 |
| 55 | m.P1 -= m.P1 >> m.I1 |
| 56 | } |
| 57 | } |
| 58 | |
| 59 | func (m *Shift2) Encode(enc *Encoder, bit uint) { |
| 60 | enc.Encode(bit, m.P0+m.P1) |