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 |