函数逻辑报告 |
Source Code:lib\xxhash.c |
Create Date:2022-07-27 07:53:22 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:xxh64
函数原型:uint64_t xxh64(const void *input, const size_t len, const uint64_t seed)
返回类型:uint64_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| const void * | input | |
| const size_t | len | |
| const uint64_t | seed |
| 178 | 如果len大于等于32则 |
| 185 | 循环 |
| 186 | v1等于xxh64_round(v1, get_unaligned_le64(p)) |
| 187 | p加等于8 |
| 188 | v2等于xxh64_round(v2, get_unaligned_le64(p)) |
| 189 | p加等于8 |
| 190 | v3等于xxh64_round(v3, get_unaligned_le64(p)) |
| 191 | p加等于8 |
| 192 | v4等于xxh64_round(v4, get_unaligned_le64(p)) |
| 193 | p加等于8 |
| 196 | h64等于xxh_rotl64(v1, 1)加xxh_rotl64(v2, 7)加xxh_rotl64(v3, 12)加xxh_rotl64(v4, 18) |
| 198 | h64等于xxh64_merge_round(h64, v1) |
| 199 | h64等于xxh64_merge_round(h64, v2) |
| 200 | h64等于xxh64_merge_round(h64, v3) |
| 201 | h64等于xxh64_merge_round(h64, v4) |
| 203 | 否则 |
| 210 | k1等于xxh64_round(0, get_unaligned_le64(p)) |
| 213 | h64等于xxh_rotl64(h64, 27)乘PRIME64_1加PRIME64_4 |
| 214 | p加等于8 |
| 218 | h64异或等于get_unaligned_le32(p)乘PRIME64_1 |
| 219 | h64等于xxh_rotl64(h64, 23)乘PRIME64_2加PRIME64_3 |
| 220 | p加等于4 |
| 235 | 返回:h64 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |