函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ZSTD_rescaleFreqs

函数原型:ZSTD_STATIC void ZSTD_rescaleFreqs(seqStore_t *ssPtr, const BYTE *src, size_t srcSize)

返回类型:void

参数:

类型参数名称
seqStore_t *ssPtr
const BYTE *src
size_tsrcSize
42  cachedLiterals = NULL
43  cachedPrice等于cachedLitLength等于0
44  staticPrices等于0
46  如果litLengthSum恒等于0则
47  如果srcSize小于等于1024则staticPrices等于1
50 u小于等于MaxLit循环litFreq[u]等于0
52 u小于srcSize循环litFreq[src[u]]自加
55  litSum等于0
56  litLengthSum等于MaxLL加1
57  matchLengthSum等于MaxML加1
58  offCodeSum等于MaxOff加1
59  matchSum等于ZSTD_LITFREQ_ADD左移Litbits
61 u小于等于MaxLit循环
62  litFreq[u]等于1加litFreq[u]右移ZSTD_FREQ_DIV位的值
63  litSum加等于litFreq[u]
65 u小于等于MaxLL循环litLengthFreq[u]等于1
67 u小于等于MaxML循环matchLengthFreq[u]等于1
69 u小于等于MaxOff循环offCodeFreq[u]等于1
71  否则
72  matchLengthSum等于0
73  litLengthSum等于0
74  offCodeSum等于0
75  matchSum等于0
76  litSum等于0
78 u小于等于MaxLit循环
79  litFreq[u]等于1加litFreq[u]右移ZSTD_FREQ_DIV加1位的值
80  litSum加等于litFreq[u]
82 u小于等于MaxLL循环
83  litLengthFreq[u]等于1加litLengthFreq[u]右移ZSTD_FREQ_DIV加1位的值
84  litLengthSum加等于litLengthFreq[u]
86 u小于等于MaxML循环
87  matchLengthFreq[u]等于1加matchLengthFreq[u]右移ZSTD_FREQ_DIV位的值
89  matchSum加等于matchLengthFreq[u]乘u加3的和
91  matchSum乘等于ZSTD_LITFREQ_ADD
92 u小于等于MaxOff循环
93  offCodeFreq[u]等于1加offCodeFreq[u]右移ZSTD_FREQ_DIV位的值
94  offCodeSum加等于offCodeFreq[u]
98  -************************************** Price functions for optimal parser
调用者
名称描述
ZSTD_compressBlock_opt_generic
ZSTD_compressBlock_opt_extDict_generic