函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:lib\xxhash.c Create Date:2022-07-27 07:53:32
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:xxh64_digest

函数原型:uint64_t xxh64_digest(const struct xxh64_state *state)

返回类型:uint64_t

参数:

类型参数名称
const struct xxh64_state *state
446  p等于mem64
447  b_end等于mem64memsize
451  如果total_len大于等于32则
452  v1等于v1
453  v2等于v2
454  v3等于v3
455  v4等于v4
457  h64等于xxh_rotl64(v1, 1)加xxh_rotl64(v2, 7)加xxh_rotl64(v3, 12)加xxh_rotl64(v4, 18)
459  h64等于xxh64_merge_round(h64, v1)
460  h64等于xxh64_merge_round(h64, v2)
461  h64等于xxh64_merge_round(h64, v3)
462  h64等于xxh64_merge_round(h64, v4)
463  否则
464  h64等于v3PRIME64_5
467  h64加等于total_len
469 p加8小于等于b_end循环
470  k1等于xxh64_round(0, get_unaligned_le64(p))
472  h64异或等于k1
473  h64等于xxh_rotl64(h64, 27)乘PRIME64_1PRIME64_4
474  p加等于8
477  如果p加4小于等于b_end
478  h64异或等于get_unaligned_le32(p)乘PRIME64_1
479  h64等于xxh_rotl64(h64, 23)乘PRIME64_2PRIME64_3
480  p加等于4
483 p小于b_end循环
484  h64异或等于pPRIME64_5
485  h64等于xxh_rotl64(h64, 11)乘PRIME64_1
486  p自加
489  h64异或等于h64右移33位
490  h64乘等于PRIME64_2
491  h64异或等于h64右移29位
492  h64乘等于PRIME64_3
493  h64异或等于h64右移32位
495  返回:h64
调用者
名称描述
ZSTD_writeEpilogue : nb of bytes written into dst (or an error code)
ZSTD_decompressFrame! ZSTD_decompressFrame() :*@dctx must be properly initialized
ZSTD_decompressContinue : nb of bytes generated into `dst` (necessarily <= `dstCapacity)