Function report |
Source Code:lib\lz4\lz4hc_compress.c |
Create Date:2022-07-28 07:00:53 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:LZ4HC_InsertAndGetWiderMatch
Proto:static inline __attribute__((__always_inline__)) int LZ4HC_InsertAndGetWiderMatch(LZ4HC_CCtx_internal *hc4, const BYTE *const ip, const BYTE *const iLowLimit, const BYTE *const iHighLimit, int longest, const BYTE **matchpos, const BYTE **startpos, const int maxNbAttempts)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
LZ4HC_CCtx_internal * | hc4 | |
const BYTE *const | ip | |
const BYTE *const | iLowLimit | |
const BYTE *const | iHighLimit | |
int | longest | |
const BYTE ** | matchpos | |
const BYTE ** | startpos | |
const int | maxNbAttempts |
178 | chainTable = chainTable |
182 | lowPrefixPtr = base + dictLimit |
183 | lowLimit = If low that point, no more dict + 64 * KB > ip - base Then low that point, no more dict Else ip - base - 64 * KB - 1 |
188 | nbAttempts = maxNbAttempts |
193 | matchIndex = HashTable[LZ4HC_hashPtr(ip)] |
195 | When matchIndex >= lowLimit && nbAttempts cycle |
197 | nbAttempts-- |
198 | If matchIndex >= dictLimit Then |
199 | matchPtr = base + matchIndex |
203 | If LZ4_read32(matchPtr) == LZ4_read32(ip) Then |
204 | mlt = -************************************* Constants + LZ4_count(ip + -************************************* Constants, matchPtr + -************************************* Constants, iHighLimit) |
208 | back = 0 |
210 | When ip + back > iLowLimit && matchPtr + back > lowPrefixPtr && ip[back - 1] == matchPtr[back - 1] cycle |
213 | back-- |
224 | Else |
225 | matchPtr = dictBase + matchIndex |
227 | If LZ4_read32(matchPtr) == LZ4_read32(ip) Then |
229 | back = 0 |
230 | vLimit = ip + dictLimit - matchIndex |
232 | If vLimit > iHighLimit Then vLimit = iHighLimit |
235 | mlt = LZ4_count(ip + -************************************* Constants, matchPtr + -************************************* Constants, vLimit) + -************************************* Constants |
238 | If ip + mlt == vLimit && vLimit < iHighLimit Then mlt += LZ4_count(ip + mlt, base + dictLimit, iHighLimit) |
241 | When ip + back > iLowLimit && matchIndex + back > lowLimit && ip[back - 1] == matchPtr[back - 1] cycle |
244 | back-- |
256 | matchIndex -= aster (matchIndex) |
259 | Return longest |
Name | Describe |
---|---|
LZ4HC_compress_generic |
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 |