diff -r 0135e64c6c66 -r c4fd2813b127 misc/libphysfs/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java --- a/misc/libphysfs/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java Wed May 16 18:22:28 2018 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,99 +0,0 @@ -package SevenZip.Compression.RangeCoder; -import java.io.IOException; - -public class BitTreeEncoder -{ - short[] Models; - int NumBitLevels; - - public BitTreeEncoder(int numBitLevels) - { - NumBitLevels = numBitLevels; - Models = new short[1 << numBitLevels]; - } - - public void Init() - { - Decoder.InitBitModels(Models); - } - - public void Encode(Encoder rangeEncoder, int symbol) throws IOException - { - int m = 1; - for (int bitIndex = NumBitLevels; bitIndex != 0; ) - { - bitIndex--; - int bit = (symbol >>> bitIndex) & 1; - rangeEncoder.Encode(Models, m, bit); - m = (m << 1) | bit; - } - } - - public void ReverseEncode(Encoder rangeEncoder, int symbol) throws IOException - { - int m = 1; - for (int i = 0; i < NumBitLevels; i++) - { - int bit = symbol & 1; - rangeEncoder.Encode(Models, m, bit); - m = (m << 1) | bit; - symbol >>= 1; - } - } - - public int GetPrice(int symbol) - { - int price = 0; - int m = 1; - for (int bitIndex = NumBitLevels; bitIndex != 0; ) - { - bitIndex--; - int bit = (symbol >>> bitIndex) & 1; - price += Encoder.GetPrice(Models[m], bit); - m = (m << 1) + bit; - } - return price; - } - - public int ReverseGetPrice(int symbol) - { - int price = 0; - int m = 1; - for (int i = NumBitLevels; i != 0; i--) - { - int bit = symbol & 1; - symbol >>>= 1; - price += Encoder.GetPrice(Models[m], bit); - m = (m << 1) | bit; - } - return price; - } - - public static int ReverseGetPrice(short[] Models, int startIndex, - int NumBitLevels, int symbol) - { - int price = 0; - int m = 1; - for (int i = NumBitLevels; i != 0; i--) - { - int bit = symbol & 1; - symbol >>>= 1; - price += Encoder.GetPrice(Models[startIndex + m], bit); - m = (m << 1) | bit; - } - return price; - } - - public static void ReverseEncode(short[] Models, int startIndex, - Encoder rangeEncoder, int NumBitLevels, int symbol) throws IOException - { - int m = 1; - for (int i = 0; i < NumBitLevels; i++) - { - int bit = symbol & 1; - rangeEncoder.Encode(Models, startIndex + m, bit); - m = (m << 1) | bit; - symbol >>= 1; - } - } -}