C# Class CSharpUtils.Compression.Huffman

Show file Open project: soywiz/csharputils

Public Methods

Method Description
BuildTable ( uint UsageTable ) : Node[]
BuildTable ( uint UsageTable, Node EncodingTable ) : int
CalculateUsageTable ( byte Data ) : uint[]
Compress ( Stream Input, Node EncodingTable ) : Stream
Compress ( Stream Input, Stream Output, Node EncodingTable ) : void
Uncompress ( Stream Input, uint OutputLength, Node EncodingTable ) : Stream
Uncompress ( Stream Input, Stream Output, uint OutputLength, Node EncodingTable ) : void

Private Methods

Method Description
SetEncodingRecursive ( Node Node, int EncodeBitsCount, int EncodeBitsValue ) : void

Method Details

BuildTable() public static method

public static BuildTable ( uint UsageTable ) : Node[]
UsageTable uint
return Node[]

BuildTable() public static method

public static BuildTable ( uint UsageTable, Node EncodingTable ) : int
UsageTable uint
EncodingTable Node
return int

CalculateUsageTable() public static method

public static CalculateUsageTable ( byte Data ) : uint[]
Data byte
return uint[]

Compress() public static method

public static Compress ( Stream Input, Node EncodingTable ) : Stream
Input Stream
EncodingTable Node
return Stream

Compress() public static method

public static Compress ( Stream Input, Stream Output, Node EncodingTable ) : void
Input Stream
Output Stream
EncodingTable Node
return void

Uncompress() public static method

public static Uncompress ( Stream Input, uint OutputLength, Node EncodingTable ) : Stream
Input Stream
OutputLength uint
EncodingTable Node
return Stream

Uncompress() public static method

public static Uncompress ( Stream Input, Stream Output, uint OutputLength, Node EncodingTable ) : void
Input Stream
Output Stream
OutputLength uint
EncodingTable Node
return void