函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:HUF_readDTableX2_wksp

函数原型:size_t HUF_readDTableX2_wksp(HUF_DTable *DTable, const void *src, size_t srcSize, void *workspace, size_t workspaceSize)

返回类型:size_t

参数:

类型参数名称
HUF_DTable *DTable
const void *src
size_tsrcSize
void *workspace
size_tworkspaceSize
92  tableLog等于0
93  nbSymbols等于0
95  dtPtr等于DTable加1
96  dt等于dtPtr
100  spaceUsed32等于0
102  rankVal等于workspacespaceUsed32
103  spaceUsed32加等于absolute limit of HUF_MAX_TABLELOG. Beyond that value, code does not work 加1
104  huffWeight等于workspacespaceUsed32
105  spaceUsed32加等于@a is a power of 2 value (HUF_SYMBOLVALUE_MAX + 1, sizeof(U32))右移2位
107  如果spaceUsed32左移2位大于workspaceSize则返回:-***************************************** Error codes handling(tableLog_tooLarge)
109  workspace等于workspacespaceUsed32
110  workspaceSize减等于spaceUsed32左移2位
115  iSize等于 : size read from `src` , or an error Code .
116  如果HUF_isError(iSize)则返回:iSize
121  dtd等于HUF_getDTableDesc(DTable)
122  如果tableLog大于maxTableLog加1则返回:-***************************************** Error codes handling(tableLog_tooLarge)
124  tableType等于0
125  tableLog等于tableLog
126  内存复制(DTable, & dtd, dtd的长度)
131  nextRankStart等于0
132 n小于tableLog加1循环
133  curr等于nextRankStart
134  nextRankStart加等于rankVal[n]左移n减1位
135  rankVal[n]等于curr
142 n小于nbSymbols循环
143  w等于huffWeight[n]
144  length等于1左移w位右移1位
147  byte等于n
148  nbBits等于tableLog加1减w
149 u小于rankVal[w]加length循环dt[u]等于D
151  rankVal[w]加等于length
155  返回:iSize
调用者
名称描述
HUF_decompress1X2_DCtx_wksp
HUF_decompress4X2_DCtx_wksp