函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:HUF_setMaxHeight

函数原型:static U32 HUF_setMaxHeight(nodeElt *huffNode, U32 lastNonNull, U32 maxNbBits)

返回类型:U32

参数:

类型参数名称
nodeElt *huffNode
U32lastNonNull
U32maxNbBits
292  largestBits等于nbBits
293  如果largestBits小于等于maxNbBits则返回:largestBits
298  totalCost等于0
299  baseCost等于1左移largestBitsmaxNbBits
300  n等于lastNonNull
302 nbBits大于maxNbBits循环
303  totalCost加等于baseCost减1左移largestBitsnbBits位的值
304  nbBits等于maxNbBits
305  n自减
307 nbBits恒等于maxNbBits循环
308  n自减
311  totalCost右移等于largestBitsmaxNbBits
315  noSymbol等于0xF0F0F0F0
320  memset(rankLast, 0xF0, rankLast的长度)
322  currNbBits等于maxNbBits
323 pos大于等于0循环
324  如果nbBits大于等于currNbBits则继续下一循环
326  currNbBits等于nbBits
331 totalCost大于0循环
333 nBitsToDecrease大于1循环
335  lowPos等于rankLast[nBitsToDecrease - 1]
336  如果highPos恒等于noSymbol则继续下一循环
338  如果lowPos恒等于noSymbol退出
341  highTotal等于count
342  lowTotal等于2乘count
343  如果highTotal小于等于lowTotal退出
350  nBitsToDecrease自加
351  totalCost减等于1左移nBitsToDecrease减1位
354  nbBits自加
355  如果rankLast[nBitsToDecrease]恒等于0则rankLast[nBitsToDecrease]等于noSymbol
357  否则
364 totalCost小于0循环
366  如果rankLast[1]恒等于noSymbol
367 nbBits恒等于maxNbBits循环
368  n自减
369  nbBits自减
370  rankLast[1]等于n加1
371  totalCost自加
372  继续下一循环
374  nbBits自减
375  rankLast[1]自加
376  totalCost自加
381  返回:maxNbBits
调用者
名称描述
HUF_buildCTable_wksp