tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

Base.java (2697B)


      1 // Base.java
      2 
      3 package SevenZip.Compression.LZMA;
      4 
      5 public class Base
      6 {
      7 public static final int kNumRepDistances = 4;
      8 public static final int kNumStates = 12;
      9 
     10 public static final int StateInit()
     11 {
     12 	return 0;
     13 }
     14 
     15 public static final int StateUpdateChar(int index)
     16 {
     17 	if (index < 4) 
     18 		return 0;
     19 	if (index < 10) 
     20 		return index - 3;
     21 	return index - 6;
     22 }
     23 
     24 public static final int StateUpdateMatch(int index)
     25 {
     26 	return (index < 7 ? 7 : 10); 
     27 }
     28 
     29 public static final int StateUpdateRep(int index)
     30 { 
     31 	return (index < 7 ? 8 : 11); 
     32 }
     33 
     34 public static final int StateUpdateShortRep(int index)
     35 { 
     36 	return (index < 7 ? 9 : 11); 
     37 }
     38 
     39 public static final boolean StateIsCharState(int index)
     40 { 
     41 	return index < 7; 
     42 }
     43 
     44 public static final int kNumPosSlotBits = 6;
     45 public static final int kDicLogSizeMin = 0;
     46 // public static final int kDicLogSizeMax = 28;
     47 // public static final int kDistTableSizeMax = kDicLogSizeMax * 2;
     48 
     49 public static final int kNumLenToPosStatesBits = 2; // it's for speed optimization
     50 public static final int kNumLenToPosStates = 1 << kNumLenToPosStatesBits;
     51 
     52 public static final int kMatchMinLen = 2;
     53 
     54 public static final int GetLenToPosState(int len)
     55 {
     56 	len -= kMatchMinLen;
     57 	if (len < kNumLenToPosStates)
     58 		return len;
     59 	return (int)(kNumLenToPosStates - 1);
     60 }
     61 
     62 public static final int kNumAlignBits = 4;
     63 public static final int kAlignTableSize = 1 << kNumAlignBits;
     64 public static final int kAlignMask = (kAlignTableSize - 1);
     65 
     66 public static final int kStartPosModelIndex = 4;
     67 public static final int kEndPosModelIndex = 14;
     68 public static final int kNumPosModels = kEndPosModelIndex - kStartPosModelIndex;
     69 
     70 public static final  int kNumFullDistances = 1 << (kEndPosModelIndex / 2);
     71 
     72 public static final  int kNumLitPosStatesBitsEncodingMax = 4;
     73 public static final  int kNumLitContextBitsMax = 8;
     74 
     75 public static final  int kNumPosStatesBitsMax = 4;
     76 public static final  int kNumPosStatesMax = (1 << kNumPosStatesBitsMax);
     77 public static final  int kNumPosStatesBitsEncodingMax = 4;
     78 public static final  int kNumPosStatesEncodingMax = (1 << kNumPosStatesBitsEncodingMax);
     79 
     80 public static final  int kNumLowLenBits = 3;
     81 public static final  int kNumMidLenBits = 3;
     82 public static final  int kNumHighLenBits = 8;
     83 public static final  int kNumLowLenSymbols = 1 << kNumLowLenBits;
     84 public static final  int kNumMidLenSymbols = 1 << kNumMidLenBits;
     85 public static final  int kNumLenSymbols = kNumLowLenSymbols + kNumMidLenSymbols +
     86 		(1 << kNumHighLenBits);
     87 public static final  int kMatchMaxLen = kMatchMinLen + kNumLenSymbols - 1;
     88 }