Lines Matching full:acc

80 static uint64_t round(uint64_t Acc, uint64_t Input) {  in round()  argument
81 Acc += Input * PRIME64_2; in round()
82 Acc = rotl64(Acc, 31); in round()
83 Acc *= PRIME64_1; in round()
84 return Acc; in round()
87 static uint64_t mergeRound(uint64_t Acc, uint64_t Val) { in mergeRound() argument
89 Acc ^= Val; in mergeRound()
90 Acc = Acc * PRIME64_1 + PRIME64_4; in mergeRound()
91 return Acc; in mergeRound()
243 uint64_t acc = in XXH3_len_4to8_64b() local
246 acc ^= input64; in XXH3_len_4to8_64b()
247 // XXH3_rrmxmx(acc, len) in XXH3_len_4to8_64b()
248 acc ^= rotl64(acc, 49) ^ rotl64(acc, 24); in XXH3_len_4to8_64b()
249 acc *= PRIME_MX2; in XXH3_len_4to8_64b()
250 acc ^= (acc >> 35) + (uint64_t)len; in XXH3_len_4to8_64b()
251 acc *= PRIME_MX2; in XXH3_len_4to8_64b()
252 return acc ^ (acc >> 28); in XXH3_len_4to8_64b()
263 uint64_t acc = uint64_t(len) + byteswap(input_lo) + input_hi + in XXH3_len_9to16_64b() local
265 return XXH3_avalanche(acc); in XXH3_len_9to16_64b()
297 uint64_t acc = len * PRIME64_1, acc_end; in XXH3_len_17to128_64b() local
298 acc += XXH3_mix16B(input + 0, secret + 0, seed); in XXH3_len_17to128_64b()
301 acc += XXH3_mix16B(input + 16, secret + 32, seed); in XXH3_len_17to128_64b()
304 acc += XXH3_mix16B(input + 32, secret + 64, seed); in XXH3_len_17to128_64b()
307 acc += XXH3_mix16B(input + 48, secret + 96, seed); in XXH3_len_17to128_64b()
312 return XXH3_avalanche(acc + acc_end); in XXH3_len_17to128_64b()
322 uint64_t acc = (uint64_t)len * PRIME64_1; in XXH3_len_129to240_64b() local
325 acc += XXH3_mix16B(input + 16 * i, secret + 16 * i, seed); in XXH3_len_129to240_64b()
326 acc = XXH3_avalanche(acc); in XXH3_len_129to240_64b()
329 acc += XXH3_mix16B(input + 16 * i, in XXH3_len_129to240_64b()
333 acc += in XXH3_len_129to240_64b()
336 return XXH3_avalanche(acc); in XXH3_len_129to240_64b()
365 static void XXH3_accumulate_512_neon(uint64_t *acc, const uint8_t *input, in XXH3_accumulate_512_neon() argument
367 xxh_aliasing_uint64x2_t *const xacc = (xxh_aliasing_uint64x2_t *)acc; in XXH3_accumulate_512_neon()
430 static void XXH3_scrambleAcc_neon(uint64_t *acc, const uint8_t *secret) { in XXH3_scrambleAcc_neon() argument
431 xxh_aliasing_uint64x2_t *const xacc = (xxh_aliasing_uint64x2_t *)acc; in XXH3_scrambleAcc_neon()
441 uint64x2_t acc_vec = XXH_vld1q_u64(acc + (2 * i)); in XXH3_scrambleAcc_neon()
478 static void XXH3_accumulate_512_scalar(uint64_t *acc, const uint8_t *input, in XXH3_accumulate_512_scalar() argument
483 acc[i ^ 1] += data_val; in XXH3_accumulate_512_scalar()
484 acc[i] += uint32_t(data_key) * (data_key >> 32); in XXH3_accumulate_512_scalar()
489 static void XXH3_scrambleAcc_scalar(uint64_t *acc, const uint8_t *secret) { in XXH3_scrambleAcc_scalar() argument
491 acc[i] ^= acc[i] >> 47; in XXH3_scrambleAcc_scalar()
492 acc[i] ^= endian::read64le(secret + 8 * i); in XXH3_scrambleAcc_scalar()
493 acc[i] *= PRIME32_1; in XXH3_scrambleAcc_scalar()
499 static void XXH3_accumulate(uint64_t *acc, const uint8_t *input, in XXH3_accumulate() argument
502 XXH3_accumulate_512(acc, input + n * XXH_STRIPE_LEN, in XXH3_accumulate()
507 static uint64_t XXH3_mix2Accs(const uint64_t *acc, const uint8_t *secret) { in XXH3_mix2Accs() argument
508 return XXH3_mul128_fold64(acc[0] ^ endian::read64le(secret), in XXH3_mix2Accs()
509 acc[1] ^ endian::read64le(secret + 8)); in XXH3_mix2Accs()
512 static uint64_t XXH3_mergeAccs(const uint64_t *acc, const uint8_t *key, in XXH3_mergeAccs() argument
516 result64 += XXH3_mix2Accs(acc + 2 * i, key + 16 * i); in XXH3_mergeAccs()
527 alignas(16) uint64_t acc[XXH_ACC_NB] = { in XXH3_hashLong_64b() local
532 XXH3_accumulate(acc, input + n * block_len, secret, nbStripesPerBlock); in XXH3_hashLong_64b()
533 XXH3_scrambleAcc(acc, secret + secretSize - XXH_STRIPE_LEN); in XXH3_hashLong_64b()
539 XXH3_accumulate(acc, input + nb_blocks * block_len, secret, nbStripes); in XXH3_hashLong_64b()
543 XXH3_accumulate_512(acc, input + len - XXH_STRIPE_LEN, in XXH3_hashLong_64b()
549 return XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START, in XXH3_hashLong_64b()
900 XXH128_mix32B(XXH128_hash_t acc, const uint8_t *input_1, const uint8_t *input_2, in XXH128_mix32B() argument
902 acc.low64 += XXH3_mix16B(input_1, secret + 0, seed); in XXH128_mix32B()
903 acc.low64 ^= endian::read64le(input_2) + endian::read64le(input_2 + 8); in XXH128_mix32B()
904 acc.high64 += XXH3_mix16B(input_2, secret + 16, seed); in XXH128_mix32B()
905 acc.high64 ^= endian::read64le(input_1) + endian::read64le(input_1 + 8); in XXH128_mix32B()
906 return acc; in XXH128_mix32B()
914 XXH128_hash_t acc; in XXH3_len_17to128_128b() local
915 acc.low64 = len * PRIME64_1; in XXH3_len_17to128_128b()
916 acc.high64 = 0; in XXH3_len_17to128_128b()
921 acc = in XXH3_len_17to128_128b()
922 XXH128_mix32B(acc, input + 48, input + len - 64, secret + 96, seed); in XXH3_len_17to128_128b()
924 acc = XXH128_mix32B(acc, input + 32, input + len - 48, secret + 64, seed); in XXH3_len_17to128_128b()
926 acc = XXH128_mix32B(acc, input + 16, input + len - 32, secret + 32, seed); in XXH3_len_17to128_128b()
928 acc = XXH128_mix32B(acc, input, input + len - 16, secret, seed); in XXH3_len_17to128_128b()
930 h128.low64 = acc.low64 + acc.high64; in XXH3_len_17to128_128b()
931 h128.high64 = (acc.low64 * PRIME64_1) + (acc.high64 * PRIME64_4) + in XXH3_len_17to128_128b()
943 XXH128_hash_t acc; in XXH3_len_129to240_128b() local
945 acc.low64 = len * PRIME64_1; in XXH3_len_129to240_128b()
946 acc.high64 = 0; in XXH3_len_129to240_128b()
954 acc = XXH128_mix32B(acc, input + i - 32, input + i - 16, secret + i - 32, in XXH3_len_129to240_128b()
957 acc.low64 = XXH3_avalanche(acc.low64); in XXH3_len_129to240_128b()
958 acc.high64 = XXH3_avalanche(acc.high64); in XXH3_len_129to240_128b()
965 acc = XXH128_mix32B(acc, input + i - 32, input + i - 16, in XXH3_len_129to240_128b()
969 acc = in XXH3_len_129to240_128b()
970 XXH128_mix32B(acc, input + len - 16, input + len - 32, in XXH3_len_129to240_128b()
975 h128.low64 = acc.low64 + acc.high64; in XXH3_len_129to240_128b()
976 h128.high64 = (acc.low64 * PRIME64_1) + (acc.high64 * PRIME64_4) + in XXH3_len_129to240_128b()
990 alignas(16) uint64_t acc[XXH_ACC_NB] = { in XXH3_hashLong_128b() local
996 XXH3_accumulate(acc, input + n * block_len, secret, nbStripesPerBlock); in XXH3_hashLong_128b()
997 XXH3_scrambleAcc(acc, secret + secretSize - XXH_STRIPE_LEN); in XXH3_hashLong_128b()
1003 XXH3_accumulate(acc, input + nb_blocks * block_len, secret, nbStripes); in XXH3_hashLong_128b()
1007 XXH3_accumulate_512(acc, input + len - XXH_STRIPE_LEN, in XXH3_hashLong_128b()
1012 static_assert(sizeof(acc) == 64); in XXH3_hashLong_128b()
1015 h128.low64 = XXH3_mergeAccs(acc, secret + XXH_SECRET_MERGEACCS_START, in XXH3_hashLong_128b()
1018 acc, secret + secretSize - sizeof(acc) - XXH_SECRET_MERGEACCS_START, in XXH3_hashLong_128b()