Function report |
Source Code:lib\xxhash.c |
Create Date:2022-07-28 06:56:18 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:xxh64
Proto:uint64_t xxh64(const void *input, const size_t len, const uint64_t seed)
Type:uint64_t
Parameter:
Type | Parameter | Name |
---|---|---|
const void * | input | |
const size_t | len | |
const uint64_t | seed |
178 | If len >= 32 Then |
185 | Do |
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 | Else |
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 | Return h64 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |