--- a/misc/libphysfs/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java Thu Oct 11 23:43:31 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;
- }
- }
-}