函数逻辑报告 |
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 |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:ZSTD_decodeSequenceLong_generic
函数原型:FORCE_INLINE seq_t ZSTD_decodeSequenceLong_generic(seqState_t *seqState, int const longOffsets)
返回类型:seq_t
参数:
类型 | 参数 | 名称 |
---|---|---|
seqState_t * | seqState | |
int const | longOffsets |
1167 | llCode等于FSE_peekSymbol( & stateLL) |
1168 | mlCode等于FSE_peekSymbol( & stateML) |
1169 | ofCode等于FSE_peekSymbol( & stateOffb) |
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} |
1192 | 否则 |
1193 | 如果longOffsets则 |
1194 | extraBits等于ofBits减-************************************** shared macros(ofBits, STREAM_ACCUMULATOR_MIN) |
1195 | offset等于OF_base[ofCode]加! BIT_readBitsFast() :* unsafe version; only works only if nbBits >= 1 左移extraBits位的值 |
1200 | 否则 |
1207 | 如果ofCode小于等于1则 |
1209 | 如果offset则 |
1210 | temp等于如果offset恒等于3则prevOffset[0]减1否则prevOffset[offset] |
1212 | 如果offset不等于1则prevOffset[2]等于prevOffset[1] |
1214 | prevOffset[1]等于prevOffset[0] |
1215 | prevOffset[0]等于offset等于temp |
1216 | 否则 |
1217 | offset等于prevOffset[0] |
1219 | 否则 |
1227 | matchLength等于ML_base[mlCode]加如果mlCode大于31则! BIT_readBitsFast() :* unsafe version; only works only if nbBits >= 1 否则0 |
1228 | 如果-*************************************************************** Memory I/O且mlBits加llBits大于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/O或totalBits大于64减7减LLFSELog加MLFSELog加OffFSELog则BIT_reloadDStream( & DStream) |
1240 | pos等于pos加matchLength |
1244 | FSE_updateState( & stateLL, & DStream) |
1245 | FSE_updateState( & stateML, & DStream) |
1246 | 如果-*************************************************************** Memory I/O则BIT_reloadDStream( & DStream) |
1248 | FSE_updateState( & stateOffb, & DStream) |
1250 | 返回:seq |
名称 | 描述 |
---|---|
ZSTD_decodeSequenceLong |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |