函数逻辑报告 |
Source Code:lib\zstd\compress.c |
Create Date:2022-07-27 08:01:33 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: : nb of positions added
函数原型:static U32 ZSTD_insertBt1(ZSTD_CCtx *zc, const BYTE *const ip, const U32 mls, const BYTE *const iend, U32 nbCompares, U32 extDict)
返回类型:U32
参数:
类型 | 参数 | 名称 |
---|---|---|
ZSTD_CCtx * | zc | |
const BYTE *const | ip | assumed <= iend-8 . |
const U32 | mls | |
const BYTE *const | iend | |
U32 | nbCompares | |
U32 | extDict |
1565 | h等于ZSTD_hashPtr( assumed <= iend-8 ., hashLog, mls) |
1566 | bt等于chainTable |
1569 | matchIndex等于hashTable[h] |
1570 | commonLengthSmaller等于0, commonLengthLarger等于0 |
1575 | prefixStart等于base加dictLimit |
1577 | curr等于 assumed <= iend-8 .减base |
1579 | smallerPtr等于bt加2乘curr按位与btMask的值 |
1580 | largerPtr等于smallerPtr加1 |
1583 | matchEndIdx等于curr加8 |
1584 | bestLength等于8 |
1588 | 当nbCompares自减且matchIndex大于windowLow循环 |
1589 | nextPtr等于bt加2乘matchIndex按位与btMask的值 |
1590 | matchLength等于-************************************** shared macros(commonLengthSmaller, commonLengthLarger) |
1592 | 如果非extDict或matchIndex加matchLength大于等于dictLimit则 |
1593 | match等于base加matchIndex |
1594 | 如果match[matchLength]恒等于 assumed <= iend-8 .[matchLength]则matchLength加等于ZSTD_count( assumed <= iend-8 . + matchLength + 1, match + matchLength + 1, iend)加1 |
1596 | 否则 |
1597 | match等于dictBase加matchIndex |
1598 | matchLength加等于ZSTD_count_2segments() :* can count match length with `ip` & `match` in 2 different segments.* convention : on reaching mEnd, match count continue starting from iStart |
1599 | 如果matchIndex加matchLength大于等于dictLimit则match等于base加matchIndex |
1603 | 如果matchLength大于bestLength则 |
1604 | bestLength等于matchLength |
1609 | 如果 assumed <= iend-8 .加matchLength恒等于iend则退出 |
1612 | 如果match[matchLength]小于 assumed <= iend-8 .[matchLength]则 |
1614 | smallerPtr等于matchIndex |
1616 | 如果matchIndex小于等于btLow则 |
1617 | smallerPtr等于dummy32 |
1618 | 退出 |
1620 | smallerPtr等于nextPtr加1 |
1621 | matchIndex等于nextPtr[1] |
1622 | 否则 |
1635 | smallerPtr等于largerPtr等于0 |
1636 | 如果bestLength大于384则返回:-************************************** shared macros(192, (U32)(bestLength - 384)) |
1638 | 如果matchEndIdx大于curr加8则返回:matchEndIdx减curr减8 |
1640 | 返回:1 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |
摘要:ZSTD_insertBt1() : add one or multiple positions to tree.