函数逻辑报告 |
Source Code:lib\lz4\lz4_compress.c |
Create Date:2022-07-27 07:58:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:-******************************* *_destSize() variant
函数原型:static int LZ4_compress_destSize_generic(LZ4_stream_t_internal *const ctx, const char *const src, char *const dst, int *const srcSizePtr, const int targetDstSize, const tableType_t tableType)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
LZ4_stream_t_internal *const | ctx | |
const char *const | src | |
char *const | dst | |
int *const | srcSizePtr | |
const int | targetDstSize | |
const tableType_t | tableType |
534 | iend等于ip加srcSizePtr |
536 | matchlimit等于iend减LASTLITERALS |
539 | oend等于op加targetDstSize |
540 | oMaxLit等于op加targetDstSize减2减8减1 |
542 | oMaxMatch等于op加targetDstSize减LASTLITERALS加1 |
550 | 如果targetDstSize小于1则返回:0 |
553 | 如果((U32) * srcSizePtr > 2 113 929 216 bytes )则返回:0 |
556 | 如果tableType恒等于byU16且srcSizePtr大于等于LZ4_64Klimit则返回:0 |
559 | 如果srcSizePtr小于LZ4_minLength则转到:_last_literals |
563 | srcSizePtr等于0 |
564 | LZ4_putPosition(ip, hashTable, tableType, base) |
565 | ip自加 |
565 | forwardH等于LZ4_hashPosition(ip, tableType) |
568 | 循环 |
575 | step等于1 |
578 | 循环 |
585 | 如果此条件成立可能性小(为编译器优化)(forwardIp > mflimit)则转到:_last_literals |
596 | 当如果tableType恒等于byU16则0否则match加MAX_DISTANCE小于ip或LZ4_read32(match)不等于LZ4_read32(ip)循环 |
635 | _next_match : |
637 | LZ4_writeLE16(op, (U16)(ip - match)) |
637 | op加等于2 |
641 | matchLength等于LZ4_count(ip + -************************************* Constants, match + -************************************* Constants, matchlimit) |
644 | 如果op加matchLength加240的和除255大于oMaxMatch则 |
646 | matchLength等于15减1加oMaxMatch减op的差乘255 |
650 | 如果matchLength大于等于ML_MASK则 |
652 | matchLength减等于ML_MASK |
653 | 当matchLength大于等于255循环 |
654 | matchLength减等于255 |
655 | op自加等于255 |
657 | op自加等于matchLength |
658 | 否则token加等于matchLength |
671 | LZ4_putPosition(ip - 2, hashTable, tableType, base) |
675 | LZ4_putPosition(ip, hashTable, tableType, base) |
677 | 如果match加MAX_DISTANCE大于等于ip且LZ4_read32(match)恒等于LZ4_read32(ip)则 |
684 | forwardH等于LZ4_hashPosition(++ip, tableType) |
687 | _last_literals : |
690 | lastRunSize等于iend减anchor |
692 | 如果op加1加lastRunSize加240的和除255加lastRunSize大于oend则 |
696 | lastRunSize等于oend减op减1 |
697 | lastRunSize减等于lastRunSize加240的和除255 |
699 | ip等于anchor加lastRunSize |
701 | 如果lastRunSize大于等于RUN_MASK则 |
705 | 以accumulator大于等于255循环op自加等于255 |
707 | op自加等于accumulator |
708 | 否则 |
709 | op自加等于lastRunSize左移ML_BITS位 |
711 | 内存复制(op, anchor, lastRunSize) |
712 | op加等于lastRunSize |
716 | srcSizePtr等于ip减src |
名称 | 描述 |
---|---|
LZ4_compress_destSize_extState |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |