7 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
8 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,
9 4, 4, 4, 4, 5, 5, 5, 5, 16
14 3, 4, 5, 6, 7, 8, 9, 10, 11, 13,
15 15, 17, 19, 23, 27, 31, 35, 43, 51, 59,
16 67, 83, 99, 115, 131, 163, 195, 227, 3
21 1, 2, 3, 4, 5, 7, 9, 13, 17, 25,
22 33, 49, 65, 97, 129, 193, 257, 385, 513, 769,
23 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577,
29 16, 17, 18, 0, 8, 7, 9, 6, 10, 5,
30 11, 4, 12, 3, 13, 2, 14, 1, 15
35 0, 16, 8, 24, 4, 20, 12, 28, 2, 18,
36 10, 26, 6, 22, 14, 30, 1, 17, 9, 25,
37 5, 21, 13, 29, 3, 19, 11, 27, 7, 23,
147 bool end_of_block =
false;
205 if (end_of_block &&
_bfinal != 0)
214 end_of_block =
false;
270 end_of_block_code_seen =
false;
283 if (nextSymbol < 256)
289 if (nextSymbol == 256)
291 end_of_block_code_seen =
true;
466 for (
int i = 0; i < num; i++)
483 for (
int j = 0; j < num; j++)
500 for (
int k = 0; k < num; k++)
507 byte[]
array =
new byte[288];
508 byte[] array2 =
new byte[32];
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
int GetNextSymbol(InputBuffer input)
static HuffmanTree StaticDistanceTree
static HuffmanTree StaticLiteralLengthTree
long _currentInflatedCount
int Inflate(Span< byte > bytes)
HuffmanTree _distanceTree
readonly InputBuffer _input
static readonly byte[] s_codeOrder
bool DecodeDynamicBlockHeader()
readonly byte[] _codeLengthTreeCodeLength
readonly byte[] _codeList
static readonly byte[] s_staticDistanceTreeTable
void SetInput(byte[] inputBytes, int offset, int length)
static readonly byte[] s_extraLengthBits
readonly byte[] _blockLengthBuffer
readonly long _uncompressedSize
readonly OutputWindow _output
HuffmanTree _literalLengthTree
bool DecodeUncompressedBlock(out bool end_of_block)
static readonly int[] s_distanceBasePosition
HuffmanTree _codeLengthTree
static readonly int[] s_lengthBase
bool DecodeBlock(out bool end_of_block_code_seen)
int _literalLengthCodeCount
InflaterManaged(bool deflate64, long uncompressedSize)
void WriteLengthDistance(int length, int distance)
int CopyTo(Span< byte > output)
int CopyFrom(InputBuffer input, int length)
static byte Min(byte val1, byte val2)
static string UnknownBlockType
static string UnknownState
static string GenericInvalidData
static string InvalidBlockLength