函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\zstd\huf_compress.c Create Date:2022-07-27 07:59:57
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:HUF_readCTable_wksp

函数原型:size_t HUF_readCTable_wksp(HUF_CElt *CTable, U32 maxSymbolValue, const void *src, size_t srcSize, void *workspace, size_t workspaceSize)

返回类型:size_t

参数:

类型参数名称
HUF_CElt *CTable
U32maxSymbolValue
const void *src
size_tsrcSize
void *workspace
size_tworkspaceSize
207  tableLog等于0
208  nbSymbols等于0
210  spaceUsed32等于0
212  rankVal等于workspacespaceUsed32
213  spaceUsed32加等于absolute limit of HUF_MAX_TABLELOG. Beyond that value, code does not work 加1
214  huffWeight等于workspacespaceUsed32
215  spaceUsed32加等于@a is a power of 2 value (HUF_SYMBOLVALUE_MAX + 1, sizeof(U32))右移2位
217  如果spaceUsed32左移2位大于workspaceSize则返回:-***************************************** Error codes handling(tableLog_tooLarge)
219  workspace等于workspacespaceUsed32
220  workspaceSize减等于spaceUsed32左移2位
223  readSize等于 : size read from `src` , or an error Code .
224  如果ERR_isError(readSize)则返回:readSize
228  如果tableLog大于max configured tableLog (for static allocation); can be modified up to HUF_ABSOLUTEMAX_TABLELOG 则返回:-***************************************** Error codes handling(tableLog_tooLarge)
230  如果nbSymbols大于maxSymbolValue加1则返回:-***************************************** Error codes handling(maxSymbolValue_tooSmall)
235  nextRankStart等于0
236 n小于等于tableLog循环
237  curr等于nextRankStart
238  nextRankStart加等于rankVal[n]左移n减1位
239  rankVal[n]等于curr
246 n小于nbSymbols循环
247  w等于huffWeight[n]
248  nbBits等于tableLog加1减w
254  U16 nbPerRank[14] = {0}
255  U16 valPerRank[14] = {0}
258 n小于nbSymbols循环nbPerRank[nbBits]自加
262  valPerRank[tableLog + 1]等于0
264  min等于0
266 n大于0循环
267  valPerRank[n]等于min
268  min加等于nbPerRank[n]
269  min右移等于1位
275 n小于等于maxSymbolValue循环val等于valPerRank[nbBits]自加
280  返回:readSize
调用者
名称描述
ZSTD_loadZstdDictionary : 0, or an error code