| OLD | NEW |
| (Empty) |
| 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 op
timization | |
| 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 - kStartPosMod
elIndex; | |
| 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 << kNumPosStatesB
itsEncodingMax); | |
| 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 + kNumMidLen
Symbols + | |
| 86 (1 << kNumHighLenBits); | |
| 87 public static final int kMatchMaxLen = kMatchMinLen + kNumLenSymbols -
1; | |
| 88 } | |
| OLD | NEW |