函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Secondary normalization method.To be used when primary method fails.

函数原型:static size_t FSE_normalizeM2(short *norm, U32 tableLog, const unsigned *count, size_t total, U32 maxSymbolValue)

返回类型:size_t

参数:

类型参数名称
short *norm
U32tableLog
const unsigned *count
size_ttotal
U32maxSymbolValue
521  NOT_YET_ASSIGNED等于负2
523  distributed等于0
527  lowThreshold等于total右移tableLog
528  lowOne等于total乘3右移tableLog加1位
530 s小于等于maxSymbolValue循环
531  如果count[s]恒等于0则
532  norm[s]等于0
533  继续下一循环
535  如果count[s]小于等于lowThreshold
536  norm[s]等于负1
537  distributed自加
538  total减等于count[s]
539  继续下一循环
541  如果count[s]小于等于lowOne
542  norm[s]等于1
543  distributed自加
544  total减等于count[s]
545  继续下一循环
548  norm[s]等于NOT_YET_ASSIGNED
550  ToDistribute等于1左移tableLog位的值减distributed
552  如果totalToDistribute大于lowOne
554  lowOne等于total乘3除ToDistribute乘2
555 s小于等于maxSymbolValue循环
556  如果norm[s]恒等于NOT_YET_ASSIGNEDcount[s]小于等于lowOne
557  norm[s]等于1
558  distributed自加
559  total减等于count[s]
560  继续下一循环
563  ToDistribute等于1左移tableLog位的值减distributed
566  如果distributed恒等于maxSymbolValue加1则
570  maxV等于0, maxC等于0
571 s小于等于maxSymbolValue循环如果count[s]大于maxC
573  maxV等于s, maxC等于count[s]
574  norm[maxV]加等于ToDistribute
575  返回:0
578  如果total恒等于0则
580 ToDistribute大于0循环如果norm[s]大于0则
582  ToDistribute自减, norm[s]自加
583  返回:0
587  vStepLog等于62减tableLog
588  mid等于1ULL左移vStepLog减1位的值减1
589  rStep等于div_u64 - unsigned 64bit divide with 32bit divisor*@dividend: unsigned 64bit dividend*@divisor: unsigned 32bit divisor* This is the most common 64bit divide and should be used if possible,* as many 32bit archs can optimize this variant better than a full
590  tmpTotal等于mid
591 s小于等于maxSymbolValue循环
592  如果norm[s]恒等于NOT_YET_ASSIGNED
593  end等于tmpTotalcount[s]乘rStep
594  sStart等于tmpTotal右移vStepLog
595  sEnd等于end右移vStepLog
596  weight等于sEndsStart
599  norm[s]等于weight
600  tmpTotal等于end
605  返回:0
调用者
名称描述
FSE_normalizeCount