public byte DecodeNormal(SevenZip.Sdk.Compression.RangeCoder.Decoder rangeDecoder) { uint num = 1; do { num = num << 1 | this.m_Decoders[num].Decode(rangeDecoder); }while (num < 256U); return((byte)num); }
public uint Decode(SevenZip.Sdk.Compression.RangeCoder.Decoder rangeDecoder, uint posState) { if (this.m_Choice.Decode(rangeDecoder) == 0U) { return(this.m_LowCoder[posState].Decode(rangeDecoder)); } uint num = 8; return(this.m_Choice2.Decode(rangeDecoder) != 0U ? num + 8U + this.m_HighCoder.Decode(rangeDecoder) : num + this.m_MidCoder[posState].Decode(rangeDecoder)); }
public byte DecodeWithMatchByte(SevenZip.Sdk.Compression.RangeCoder.Decoder rangeDecoder, byte matchByte) { uint num1 = 1; do { uint num2 = (uint)((int)matchByte >> 7 & 1); matchByte <<= 1; uint num3 = this.m_Decoders[((uint)(1 + (int)num2 << 8) + num1)].Decode(rangeDecoder); num1 = num1 << 1 | num3; if ((int)num2 != (int)num3) { while (num1 < 256U) { num1 = num1 << 1 | this.m_Decoders[num1].Decode(rangeDecoder); } break; } }while (num1 < 256U); return((byte)num1); }
public byte DecodeWithMatchByte(SevenZip.Sdk.Compression.RangeCoder.Decoder rangeDecoder, uint pos, byte prevByte, byte matchByte) { return(this.m_Coders[this.GetState(pos, prevByte)].DecodeWithMatchByte(rangeDecoder, matchByte)); }
public byte DecodeNormal(SevenZip.Sdk.Compression.RangeCoder.Decoder rangeDecoder, uint pos, byte prevByte) { return(this.m_Coders[this.GetState(pos, prevByte)].DecodeNormal(rangeDecoder)); }