函数逻辑报告 |
Source Code:lib\zstd\compress.c |
Create Date:2022-07-27 08:01:05 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:ZSTD_compressBlock_fast_generic
函数原型:void ZSTD_compressBlock_fast_generic(ZSTD_CCtx *cctx, const void *src, size_t srcSize, const U32 mls)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
ZSTD_CCtx * | cctx | |
const void * | src | |
size_t | srcSize | |
const U32 | mls |
1012 | seqStorePtr等于seqStore的地址 |
1017 | lowestIndex等于dictLimit |
1018 | lowest等于base加lowestIndex |
1020 | ilimit等于iend减HASH_READ_SIZE |
1022 | offsetSaved等于0 |
1028 | 如果offset_2大于maxRep则offsetSaved等于offset_2, offset_2等于0 |
1030 | 如果offset_1大于maxRep则offsetSaved等于offset_1, offset_1等于0 |
1037 | h等于ZSTD_hashPtr(ip, hBits, mls) |
1039 | matchIndex等于hashTable[h] |
1040 | match等于base加matchIndex |
1043 | 如果offset_1大于0按位与ZSTD_read32(ip + 1 - offset_1)恒等于ZSTD_read32(ip + 1)则 |
1045 | ip自加 |
1047 | 否则 |
1049 | 如果matchIndex小于等于lowestIndex或ZSTD_read32(match)不等于ZSTD_read32(ip)则 |
1050 | ip加等于ip减anchor右移control skip over incompressible data 位的值加1 |
1051 | 继续下一循环 |
1053 | mLength等于ZSTD_count(ip + 4, match + 4, iend)加4 |
1075 | 当ip小于等于ilimit且offset_2大于0按位与ZSTD_read32(ip)恒等于ZSTD_read32(ip - offset_2)循环 |
1087 | 继续下一循环 |
1093 | repToConfirm[0]等于如果offset_1则offset_1否则offsetSaved |
1094 | repToConfirm[1]等于如果offset_2则offset_2否则offsetSaved |
名称 | 描述 |
---|---|
ZSTD_compressBlock_fast |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |