Defines

HashSip.cc File Reference

#include "HashSip.h"
#include <cstring>
Include dependency graph for HashSip.cc:

Go to the source code of this file.

Defines

#define SIP_BLOCK_SIZE   8
 Algorithm Info: https://131002.net/siphash/.
#define ROTL64(a, b)   (((a)<<(b))|((a)>>(64-b)))
#define U8TO64_LE(p)   *(const uint64_t *)(p)
#define SIPCOMPRESS(x0, x1, x2, x3)

Define Documentation

#define ROTL64 (   a,
  b 
)    (((a)<<(b))|((a)>>(64-b)))

Definition at line 16 of file HashSip.cc.

#define SIP_BLOCK_SIZE   8

Algorithm Info: https://131002.net/siphash/.

Based off of implementation: https://github.com/floodyberry/siphash

Definition at line 14 of file HashSip.cc.

Referenced by ATSHash64Sip24::update().

#define SIPCOMPRESS (   x0,
  x1,
  x2,
  x3 
)
Value:
x0 += x1; \
    x2 += x3; \
    x1 = ROTL64(x1,13); \
    x3 = ROTL64(x3,16); \
    x1 ^= x0; \
    x3 ^= x2; \
    x0 = ROTL64(x0,32); \
    x2 += x1; \
    x0 += x3; \
    x1 = ROTL64(x1,17); \
    x3 = ROTL64(x3,21); \
    x1 ^= x2; \
    x3 ^= x0; \
    x2 = ROTL64(x2,32);

Definition at line 20 of file HashSip.cc.

Referenced by ATSHash64Sip24::final(), and ATSHash64Sip24::update().

#define U8TO64_LE (   p  )     *(const uint64_t *)(p)

Definition at line 18 of file HashSip.cc.

Referenced by ATSHash64Sip24::ATSHash64Sip24(), and ATSHash64Sip24::update().