xref: /freebsd/sys/contrib/libsodium/src/libsodium/crypto_shorthash/siphash24/ref/shorthash_siphash_ref.h (revision 3611ec604864a7d4dcc9a3ea898c80eb35eef8a0)
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