Thrill  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
siphash.hpp File Reference
#include <tlx/define/attribute_fallthrough.hpp>
#include <cstdint>
#include <cstdlib>
+ Include dependency graph for siphash.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 tlx
 

Macros

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

Functions

static uint64_t siphash (const uint8_t key[16], const uint8_t *msg, size_t size)
 
static uint64_t siphash (const uint8_t *msg, size_t size)
 
template<typename Type >
static uint64_t siphash (const Type &value)
 
static uint64_t siphash_plain (const uint8_t key[16], const uint8_t *m, size_t len)
 

Macro Definition Documentation

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

Definition at line 34 of file siphash.hpp.

#define sipcompress ( )
Value:
v0 += v1; v2 += v3; \
v1 = ROTL64(v1, 13); \
v3 = ROTL64(v3, 16); \
v1 ^= v0; v3 ^= v2; \
v0 = ROTL64(v0, 32); \
v2 += v1; v0 += v3; \
v1 = ROTL64(v1, 17); \
v3 = ROTL64(v3, 21); \
v1 ^= v2; v3 ^= v0; \
v2 = ROTL64(v2, 32);
#define ROTL64(a, b)
Definition: siphash.hpp:34

Referenced by tlx::siphash_plain().