Class CompressorHuffmanTree
Represents the Huffman Tree.
Inheritance
System.Object
CompressorHuffmanTree
Namespace: Syncfusion.Compression
Assembly: Syncfusion.Compression.NET.dll
Syntax
public class CompressorHuffmanTree : Object
Constructors
CompressorHuffmanTree(CompressedStreamWriter, Int32, Int32, Int32)
Create a new Huffman tree
Declaration
public CompressorHuffmanTree(CompressedStreamWriter writer, int iElementsCount, int iMinimumCodes, int iMaximumLength)
Parameters
Type | Name | Description |
---|---|---|
CompressedStreamWriter | writer | |
System.Int32 | iElementsCount | |
System.Int32 | iMinimumCodes | |
System.Int32 | iMaximumLength |
Properties
CodeFrequences
Code frequences.
Declaration
public short[] CodeFrequences { get; }
Property Value
Type |
---|
System.Int16[] |
CodeLengths
Lengths of codes in tree.
Declaration
public byte[] CodeLengths { get; }
Property Value
Type |
---|
System.Byte[] |
TreeLength
Length of the tree.
Declaration
public int TreeLength { get; }
Property Value
Type |
---|
System.Int32 |
Methods
BuildCodes()
Calculates codes from their frequences.
Declaration
public void BuildCodes()
BuildTree()
Builds tree.
Declaration
public void BuildTree()
CalcBLFreq(CompressorHuffmanTree)
Calculates code frequences.
Declaration
public void CalcBLFreq(CompressorHuffmanTree blTree)
Parameters
Type | Name | Description |
---|---|---|
CompressorHuffmanTree | blTree | Tree. |
CheckEmpty()
Checks wheather tree is empty. If tree is not empty, then exception will be raised.
Declaration
public void CheckEmpty()
GetEncodedLength()
Calculates length of the compressed data.
Declaration
public int GetEncodedLength()
Returns
Type | Description |
---|---|
System.Int32 | Count of bits, the data will occupy. |
Reset()
Resets all code data in tree.
Declaration
public void Reset()
SetStaticCodes(Int16[], Byte[])
Specifies new arrays of codes and their lengths.
Declaration
public void SetStaticCodes(short[] codes, byte[] lengths)
Parameters
Type | Name | Description |
---|---|---|
System.Int16[] | codes | Array of codes. |
System.Byte[] | lengths | Array of code lengths. |
WriteCodeToStream(Int32)
Writes code to the compressor output stream.
Declaration
public void WriteCodeToStream(int code)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | code | Code to be written. |
WriteTree(CompressorHuffmanTree)
Writes tree to output stream.
Declaration
public void WriteTree(CompressorHuffmanTree blTree)
Parameters
Type | Name | Description |
---|---|---|
CompressorHuffmanTree | blTree | Tree to be written. |