函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:ZSTD_decodeSequenceLong_generic

函数原型:FORCE_INLINE seq_t ZSTD_decodeSequenceLong_generic(seqState_t *seqState, int const longOffsets)

返回类型:seq_t

参数:

类型参数名称
seqState_t *seqState
int constlongOffsets
1167  llCode等于FSE_peekSymbol( & stateLL)
1168  mlCode等于FSE_peekSymbol( & stateML)
1169  ofCode等于FSE_peekSymbol( & stateOffb)
1171  llBits等于LL_bits[llCode]
1172  mlBits等于ML_bits[mlCode]
1173  ofBits等于ofCode
1174  totalBits等于llBitsmlBitsofBits
1176  static const U32 LL_base[36] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 28, 32, 40, 48, 64, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0x10000}
1179  static const U32 ML_base[53] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 39, 41, 43, 47, 51, 59, 67, 83, 99, 0x83, 0x103, 0x203, 0x403, 0x803, 0x1003, 0x2003, 0x4003, 0x8003, 0x10003}
1183  static const U32 OF_base[29] = {0, 1, 1, 5, 0xD, 0x1D, 0x3D, 0x7D, 0xFD, 0x1FD, 0x3FD, 0x7FD, 0xFFD, 0x1FFD, 0x3FFD, 0x7FFD, 0xFFFD, 0x1FFFD, 0x3FFFD, 0x7FFFD, 0xFFFFD, 0x1FFFFD, 0x3FFFFD, 0x7FFFFD, 0xFFFFFD, 0x1FFFFFD, 0x3FFFFFD, 0x7FFFFFD, 0xFFFFFFD}
1190  如果非ofCodeoffset等于0
1192  否则
1193  如果longOffsets
1200  否则
1207  如果ofCode小于等于1则
1208  offset加等于llCode恒等于0
1209  如果offset
1210  temp等于如果offset恒等于3则prevOffset[0]减1否则prevOffset[offset]
1211  temp加等于非temp
1212  如果offset不等于1则prevOffset[2]等于prevOffset[1]
1214  prevOffset[1]等于prevOffset[0]
1215  prevOffset[0]等于offset等于temp
1216  否则
1217  offset等于prevOffset[0]
1219  否则
1220  prevOffset[2]等于prevOffset[1]
1221  prevOffset[1]等于prevOffset[0]
1222  prevOffset[0]等于offset
1224  offset等于offset
1227  matchLength等于ML_base[mlCode]加如果mlCode大于31则! BIT_readBitsFast() :* unsafe version; only works only if nbBits >= 1 否则0
1228  如果-*************************************************************** Memory I/OmlBitsllBits大于24则BIT_reloadDStream( & DStream)
1231  litLength等于LL_base[llCode]加如果llCode大于15则! BIT_readBitsFast() :* unsafe version; only works only if nbBits >= 1 否则0
1232  如果-*************************************************************** Memory I/OtotalBits大于64减7减LLFSELogMLFSELogOffFSELogBIT_reloadDStream( & DStream)
1236  pos等于poslitLength
1237  match等于baseposoffset
1238  如果offset大于posmatch加等于gotoDict
1240  pos等于posmatchLength
1244  FSE_updateState( & stateLL, & DStream)
1245  FSE_updateState( & stateML, & DStream)
1246  如果-*************************************************************** Memory I/OBIT_reloadDStream( & DStream)
1248  FSE_updateState( & stateOffb, & DStream)
1250  返回:seq
调用者
名称描述
ZSTD_decodeSequenceLong