generateHuffmanOptimisationSeeds() — netty Function Reference
Architecture documentation for the generateHuffmanOptimisationSeeds() function in Bzip2HuffmanStageEncoder.java from the netty codebase.
Entity Profile
Dependency Diagram
graph TD 2f7e4bf0_cbf0_8d52_74b2_e1e1992afc34["generateHuffmanOptimisationSeeds()"] 9201fec0_464b_c827_7f9e_b36517971a73["Bzip2HuffmanStageEncoder"] 2f7e4bf0_cbf0_8d52_74b2_e1e1992afc34 -->|defined in| 9201fec0_464b_c827_7f9e_b36517971a73 6e4766a4_37c9_7b63_401b_81d6c95ccc03["encode()"] 6e4766a4_37c9_7b63_401b_81d6c95ccc03 -->|calls| 2f7e4bf0_cbf0_8d52_74b2_e1e1992afc34 style 2f7e4bf0_cbf0_8d52_74b2_e1e1992afc34 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2HuffmanStageEncoder.java lines 162–195
private void generateHuffmanOptimisationSeeds() {
final int[][] huffmanCodeLengths = this.huffmanCodeLengths;
final int[] mtfSymbolFrequencies = this.mtfSymbolFrequencies;
final int mtfAlphabetSize = this.mtfAlphabetSize;
final int totalTables = huffmanCodeLengths.length;
int remainingLength = mtfLength;
int lowCostEnd = -1;
for (int i = 0; i < totalTables; i++) {
final int targetCumulativeFrequency = remainingLength / (totalTables - i);
final int lowCostStart = lowCostEnd + 1;
int actualCumulativeFrequency = 0;
while (actualCumulativeFrequency < targetCumulativeFrequency && lowCostEnd < mtfAlphabetSize - 1) {
actualCumulativeFrequency += mtfSymbolFrequencies[++lowCostEnd];
}
if (lowCostEnd > lowCostStart && i != 0 && i != totalTables - 1 && (totalTables - i & 1) == 0) {
actualCumulativeFrequency -= mtfSymbolFrequencies[lowCostEnd--];
}
final int[] tableCodeLengths = huffmanCodeLengths[i];
for (int j = 0; j < mtfAlphabetSize; j++) {
if (j < lowCostStart || j > lowCostEnd) {
tableCodeLengths[j] = HUFFMAN_HIGH_SYMBOL_COST;
}
}
remainingLength -= actualCumulativeFrequency;
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does generateHuffmanOptimisationSeeds() do?
generateHuffmanOptimisationSeeds() is a function in the netty codebase, defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2HuffmanStageEncoder.java.
Where is generateHuffmanOptimisationSeeds() defined?
generateHuffmanOptimisationSeeds() is defined in codec-compression/src/main/java/io/netty/handler/codec/compression/Bzip2HuffmanStageEncoder.java at line 162.
What calls generateHuffmanOptimisationSeeds()?
generateHuffmanOptimisationSeeds() is called by 1 function(s): encode.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free