pull/242/merge
Anton Gorev 2017-05-27 00:45:31 +00:00 committed by GitHub
commit 9d5ff8f3b6
1 changed files with 9 additions and 0 deletions

View File

@ -135,6 +135,15 @@ void HuffmanEncoder::GenerateCodeLengths(unsigned int *codeBits, unsigned int ma
std::fill(codeBits, codeBits+nCodes, 0);
return;
}
if (1 == nCodes - treeBegin)
{
// special case when only one leaf in tree
std::fill(codeBits, codeBits + nCodes, 0);
codeBits[tree[treeBegin].symbol] = 1;
return;
}
tree.resize(nCodes + nCodes - treeBegin - 1);
size_t leastLeaf = treeBegin, leastInterior = nCodes;