Function report |
Source Code:lib\zstd\decompress.c |
Create Date:2022-07-28 07:07:10 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:ZSTD_decodeSequenceLong_generic
Proto:FORCE_INLINE seq_t ZSTD_decodeSequenceLong_generic(seqState_t *seqState, int const longOffsets)
Type:seq_t
Parameter:
Type | Parameter | Name |
---|---|---|
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 | Else |
1193 | If longOffsets Then |
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 | Else |
1207 | If ofCode <= 1 Then |
1209 | If offset Then |
1210 | temp = If offset == 3 Then prevOffset[0] - 1 Else prevOffset[offset] |
1212 | If offset != 1 Then prevOffset[2] = prevOffset[1] |
1214 | prevOffset[1] = prevOffset[0] |
1215 | prevOffset[0] = offset = temp |
1216 | Else |
1217 | offset = prevOffset[0] |
1219 | Else |
1227 | matchLength = ML_base[mlCode] + If mlCode > 31 Then ! BIT_readBitsFast() :* unsafe version; only works only if nbBits >= 1 Else 0 |
1228 | If -*************************************************************** Memory I/O && mlBits + llBits > 24 Then BIT_reloadDStream( & DStream) |
1231 | litLength = LL_base[llCode] + If llCode > 15 Then ! BIT_readBitsFast() :* unsafe version; only works only if nbBits >= 1 Else 0 |
1232 | If -*************************************************************** Memory I/O || totalBits > 64 - 7 - LLFSELog + MLFSELog + OffFSELog Then BIT_reloadDStream( & DStream) |
1240 | pos = pos + matchLength |
1244 | FSE_updateState( & stateLL, & DStream) |
1245 | FSE_updateState( & stateML, & DStream) |
1246 | If -*************************************************************** Memory I/O Then BIT_reloadDStream( & DStream) |
1248 | FSE_updateState( & stateOffb, & DStream) |
1250 | Return seq |
Name | Describe |
---|---|
ZSTD_decodeSequenceLong |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |