Function report |
Source Code:lib\zstd\compress.c |
Create Date:2022-07-28 07:03:40 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:ZSTD_compressBlock_doubleFast_generic
Proto:void ZSTD_compressBlock_doubleFast_generic(ZSTD_CCtx *cctx, const void *src, size_t srcSize, const U32 mls)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
ZSTD_CCtx * | cctx | |
const void * | src | |
size_t | srcSize | |
const U32 | mls |
1258 | hashSmall = chainTable |
1260 | seqStorePtr = &seqStore |
1265 | lowestIndex = dictLimit |
1266 | lowest = base + lowestIndex |
1268 | ilimit = iend - HASH_READ_SIZE |
1270 | offsetSaved = 0 |
1276 | If offset_2 > maxRep Then offsetSaved = offset_2 , offset_2 = 0 |
1278 | If offset_1 > maxRep Then offsetSaved = offset_1 , offset_1 = 0 |
1285 | h2 = ZSTD_hashPtr(ip, hBitsL, 8) |
1286 | h = ZSTD_hashPtr(ip, hBitsS, mls) |
1288 | matchIndexL = hashLong[h2] |
1289 | matchIndexS = hashSmall[h] |
1290 | matchLong = base + matchIndexL |
1291 | match = base + matchIndexS |
1294 | If offset_1 > 0 & ZSTD_read32(ip + 1 - offset_1) == ZSTD_read32(ip + 1) Then |
1296 | ip++ |
1298 | Else |
1300 | If matchIndexL > lowestIndex && ZSTD_read64(matchLong) == ZSTD_read64(ip) Then |
1301 | mLength = ZSTD_count(ip + 8, matchLong + 8, iend) + 8 |
1308 | Else if matchIndexS > lowestIndex && ZSTD_read32(match) == ZSTD_read32(ip) Then |
1309 | h3 = ZSTD_hashPtr(ip + 1, hBitsL, 8) |
1310 | matchIndex3 = hashLong[h3] |
1311 | match3 = base + matchIndex3 |
1313 | If matchIndex3 > lowestIndex && ZSTD_read64(match3) == ZSTD_read64(ip + 1) Then |
1322 | Else |
1331 | Else |
1332 | ip += ( ip - anchor >> control skip over incompressible data ) + 1 |
1333 | Continue |
1348 | hashLong[ZSTD_hashPtr(base + curr + 2, hBitsL, 8)] = hashSmall[ZSTD_hashPtr(base + curr + 2, hBitsS, mls)] = curr + 2 |
1350 | hashLong[ZSTD_hashPtr(ip - 2, hBitsL, 8)] = hashSmall[ZSTD_hashPtr(ip - 2, hBitsS, mls)] = ip - 2 - base |
1353 | When ip <= ilimit && offset_2 > 0 & ZSTD_read32(ip) == ZSTD_read32(ip - offset_2) cycle |
1366 | Continue |
1372 | repToConfirm[0] = If offset_1 Then offset_1 Else offsetSaved |
1373 | repToConfirm[1] = If offset_2 Then offset_2 Else offsetSaved |
Name | Describe |
---|---|
ZSTD_compressBlock_doubleFast |
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 |