Update regression results and better variable naming for HUF_cardinality

This commit is contained in:
Danielle Rozenblit
2022-10-14 13:37:19 -07:00
parent c4853e1553
commit 75cd42afd7
3 changed files with 230 additions and 229 deletions
+3 -2
View File
@@ -190,9 +190,10 @@ typedef enum {
* For example, it's possible to compress several blocks using the same 'CTable',
* or to save and regenerate 'CTable' using external methods.
*/
unsigned HUF_minTableLog(size_t srcSize, unsigned maxSymbolValue);
unsigned HUF_minTableLog(size_t srcSize, unsigned symbolCardinality);
unsigned HUF_cardinality(const unsigned* count, unsigned maxSymbolValue);
unsigned HUF_optimalTableLog(unsigned maxTableLog, size_t srcSize, unsigned maxSymbolValue, void* workSpace, size_t wkspSize, HUF_CElt* table, const unsigned* count, HUF_depth_mode depthMode);
unsigned HUF_optimalTableLog(unsigned maxTableLog, size_t srcSize, unsigned maxSymbolValue, void* workSpace,
size_t wkspSize, HUF_CElt* table, const unsigned* count, HUF_depth_mode depthMode); /* table is used as scratch space for building and testing tables, not a return value */
size_t HUF_buildCTable (HUF_CElt* CTable, const unsigned* count, unsigned maxSymbolValue, unsigned maxNbBits); /* @return : maxNbBits; CTable and count can overlap. In which case, CTable will overwrite count content */
size_t HUF_writeCTable (void* dst, size_t maxDstSize, const HUF_CElt* CTable, unsigned maxSymbolValue, unsigned huffLog);
size_t HUF_writeCTable_wksp(void* dst, size_t maxDstSize, const HUF_CElt* CTable, unsigned maxSymbolValue, unsigned huffLog, void* workspace, size_t workspaceSize);
+4 -4
View File
@@ -1247,10 +1247,10 @@ unsigned HUF_cardinality(const unsigned* count, unsigned maxSymbolValue)
return cardinality;
}
unsigned HUF_minTableLog(size_t srcSize, unsigned maxSymbolValue)
unsigned HUF_minTableLog(size_t srcSize, unsigned symbolCardinality)
{
U32 minBitsSrc = ZSTD_highbit32((U32)(srcSize)) + 1;
U32 minBitsSymbols = ZSTD_highbit32(maxSymbolValue) + 1;
U32 minBitsSymbols = ZSTD_highbit32(symbolCardinality) + 1;
U32 minBits = minBitsSrc < minBitsSymbols ? minBitsSrc : minBitsSymbols;
assert(srcSize > 1); /* Not supported, RLE should be used instead */
return minBits;
@@ -1266,11 +1266,11 @@ unsigned HUF_optimalTableLog(unsigned maxTableLog, size_t srcSize, unsigned maxS
size_t optSize = ((size_t) ~0);
unsigned huffLog;
size_t maxBits, hSize, newSize;
unsigned cardinality = HUF_cardinality(count, maxSymbolValue);
const unsigned symbolCardinality = HUF_cardinality(count, maxSymbolValue);
if (wkspSize < sizeof(HUF_buildCTable_wksp_tables)) return optLog;
for (huffLog = HUF_minTableLog(srcSize, cardinality); huffLog <= maxTableLog; huffLog++) {
for (huffLog = HUF_minTableLog(srcSize, symbolCardinality); huffLog <= maxTableLog; huffLog++) {
maxBits = HUF_buildCTable_wksp(table, count,
maxSymbolValue, huffLog,
workSpace, wkspSize);