EpcTools
An event based multi-threaded C++ development framework.
Macros
ehash.cpp File Reference
#include "etypes.h"
#include "ehash.h"

Macros

#define ROTATELEFT_FULL(x, b)   (uint64_t)(((x) << (b)) | ((x) >> (64 - (b))))
 
#define ROTATELEFT_HALF(x, b)   (uint32_t)(((x) << (b)) | ((x) >> (32 - (b))))
 
#define SIP_ROUND_FULL
 
#define SIP_ROUND_HALF
 
#define SIP_ROUND_FULL_C
 
#define SIP_ROUND_FULL_D
 
#define SIP_ROUND_HALF_C
 
#define SIP_ROUND_HALF_D
 

Macro Definition Documentation

◆ ROTATELEFT_FULL

#define ROTATELEFT_FULL (   x,
 
)    (uint64_t)(((x) << (b)) | ((x) >> (64 - (b))))

◆ ROTATELEFT_HALF

#define ROTATELEFT_HALF (   x,
 
)    (uint32_t)(((x) << (b)) | ((x) >> (32 - (b))))

◆ SIP_ROUND_FULL

#define SIP_ROUND_FULL
Value:
do { \
v0 += v1; \
v1 = ROTATELEFT_FULL(v1, 13); \
v1 ^= v0; \
v0 = ROTATELEFT_FULL(v0, 32); \
v2 += v3; \
v3 = ROTATELEFT_FULL(v3, 16); \
v3 ^= v2; \
v0 += v3; \
v3 = ROTATELEFT_FULL(v3, 21); \
v3 ^= v0; \
v2 += v1; \
v1 = ROTATELEFT_FULL(v1, 17); \
v1 ^= v2; \
v2 = ROTATELEFT_FULL(v2, 32); \
} while (0)

◆ SIP_ROUND_FULL_C

#define SIP_ROUND_FULL_C
Value:
({ \
SIP_ROUND_FULL; \
SIP_ROUND_FULL; \
})

◆ SIP_ROUND_FULL_D

#define SIP_ROUND_FULL_D
Value:
({ \
SIP_ROUND_FULL; \
SIP_ROUND_FULL; \
SIP_ROUND_FULL; \
SIP_ROUND_FULL; \
})

◆ SIP_ROUND_HALF

#define SIP_ROUND_HALF
Value:
do { \
v0 += v1; \
v1 = ROTATELEFT_HALF(v1, 5); \
v1 ^= v0; \
v0 = ROTATELEFT_HALF(v0, 16); \
v2 += v3; \
v3 = ROTATELEFT_HALF(v3, 8); \
v3 ^= v2; \
v0 += v3; \
v3 = ROTATELEFT_HALF(v3, 7); \
v3 ^= v0; \
v2 += v1; \
v1 = ROTATELEFT_HALF(v1, 13); \
v1 ^= v2; \
v2 = ROTATELEFT_HALF(v2, 16); \
} while (0)

◆ SIP_ROUND_HALF_C

#define SIP_ROUND_HALF_C
Value:
({ \
SIP_ROUND_HALF; \
SIP_ROUND_HALF; \
})

◆ SIP_ROUND_HALF_D

#define SIP_ROUND_HALF_D
Value:
({ \
SIP_ROUND_HALF; \
SIP_ROUND_HALF; \
SIP_ROUND_HALF; \
SIP_ROUND_HALF; \
})
ROTATELEFT_HALF
#define ROTATELEFT_HALF(x, b)
Definition: ehash.cpp:178
ROTATELEFT_FULL
#define ROTATELEFT_FULL(x, b)
Definition: ehash.cpp:177