Home | History | Annotate | Line # | Download | only in ref
      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