MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenColorIO / XXH64_finalize

Function XXH64_finalize

ext/xxHash/src/include/xxhash.h:2461–2485  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2459#define XXH_get64bits(p) XXH_readLE64_align(p, align)
2460
2461static xxh_u64
2462XXH64_finalize(xxh_u64 h64, const xxh_u8* ptr, size_t len, XXH_alignment align)
2463{
2464 if (ptr==NULL) XXH_ASSERT(len == 0);
2465 len &= 31;
2466 while (len >= 8) {
2467 xxh_u64 const k1 = XXH64_round(0, XXH_get64bits(ptr));
2468 ptr += 8;
2469 h64 ^= k1;
2470 h64 = XXH_rotl64(h64,27) * XXH_PRIME64_1 + XXH_PRIME64_4;
2471 len -= 8;
2472 }
2473 if (len >= 4) {
2474 h64 ^= (xxh_u64)(XXH_get32bits(ptr)) * XXH_PRIME64_1;
2475 ptr += 4;
2476 h64 = XXH_rotl64(h64, 23) * XXH_PRIME64_2 + XXH_PRIME64_3;
2477 len -= 4;
2478 }
2479 while (len > 0) {
2480 h64 ^= (*ptr++) * XXH_PRIME64_5;
2481 h64 = XXH_rotl64(h64, 11) * XXH_PRIME64_1;
2482 --len;
2483 }
2484 return XXH64_avalanche(h64);
2485}
2486
2487#ifdef XXH_OLD_NAMES
2488# define PROCESS1_64 XXH_PROCESS1_64

Callers 2

XXH64_endian_alignFunction · 0.85

Calls 2

XXH64_roundFunction · 0.85
XXH64_avalancheFunction · 0.85

Tested by

no test coverage detected