1 #ifndef shorthash_siphash_H 2 #define shorthash_siphash_H 3 4 #include "private/common.h" 5 6 #define SIPROUND \ 7 do { \ 8 v0 += v1; \ 9 v1 = ROTL64(v1, 13); \ 10 v1 ^= v0; \ 11 v0 = ROTL64(v0, 32); \ 12 v2 += v3; \ 13 v3 = ROTL64(v3, 16); \ 14 v3 ^= v2; \ 15 v0 += v3; \ 16 v3 = ROTL64(v3, 21); \ 17 v3 ^= v0; \ 18 v2 += v1; \ 19 v1 = ROTL64(v1, 17); \ 20 v1 ^= v2; \ 21 v2 = ROTL64(v2, 32); \ 22 } while (0) 23 24 #endif 25