函数逻辑报告 |
Source Code:lib\zstd\fse_compress.c |
Create Date:2022-07-27 07:59:24 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:FSE_buildCTable_wksp() :* Same as FSE_buildCTable(), but using an externally allocated scratch buffer (`workSpace`)
函数原型:size_t FSE_buildCTable_wksp(FSE_CTable *ct, const short *normalizedCounter, unsigned maxSymbolValue, unsigned tableLog, void *workspace, size_t workspaceSize)
返回类型:size_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| FSE_CTable * | ct | |
| const short * | normalizedCounter | |
| unsigned | maxSymbolValue | |
| unsigned | tableLog | |
| void * | workspace | |
| size_t | workspaceSize |
| 100 | step等于FSE_TABLESTEP(tableSize) |
| 101 | highThreshold等于tableSize减1 |
| 105 | spaceUsed32等于0 |
| 107 | cumul等于workspace加spaceUsed32 |
| 108 | spaceUsed32加等于!FSE_MAX_SYMBOL_VALUE :* Maximum symbol value authorized.* Required for proper stack allocation 加2 |
| 110 | spaceUsed32加等于@a is a power of 2 value (mplate functions type & suffix的长度 * ((size_t)1 << tableLog), sizeof(U32))右移2位 |
| 112 | 如果spaceUsed32左移2位大于workspaceSize则返回:-***************************************** Error codes handling(tableLog_tooLarge) |
| 115 | workspaceSize减等于spaceUsed32左移2位 |
| 119 | tableU16[ - 1]等于maxSymbolValue |
| 127 | cumul[0]等于0 |
| 128 | 以u小于等于maxSymbolValue加1循环 |
| 129 | 如果normalizedCounter[u - 1]恒等于负1则 |
| 131 | tableSymbol[highThreshold--] = (mplate functions type & suffix)(u - 1) |
| 132 | 否则 |
| 136 | cumul[maxSymbolValue + 1]等于tableSize加1 |
| 141 | position等于0 |
| 143 | 以symbol小于等于maxSymbolValue循环 |
| 168 | total等于0 |
| 170 | 以s小于等于maxSymbolValue循环 |
| 172 | 当:normalizedCounter[s]恒等于0 |
| 172 | 退出 |
| 174 | 当:normalizedCounter[s]恒等于负1 |
| 175 | 当:normalizedCounter[s]恒等于1 |
| 180 | 默认 |
| 191 | 返回:0 |
| 名称 | 描述 |
|---|---|
| HUF_compressWeights_wksp | |
| ZSTD_compressSequences_internal | |
| ZSTD_loadZstdDictionary | : 0, or an error code |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |