Bitcoin ABC  0.26.3 P2P Digital Currency
siphash.cpp File Reference
`#include <crypto/siphash.h>`
Include dependency graph for siphash.cpp:

Go to the source code of this file.

## Macros

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

#define SIPROUND

## Functions

uint64_t SipHashUint256 (uint64_t k0, uint64_t k1, const uint256 &val)
Optimized SipHash-2-4 implementation for uint256. More...

uint64_t SipHashUint256Extra (uint64_t k0, uint64_t k1, const uint256 &val, uint32_t extra)

## ◆ ROTL

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

Definition at line 7 of file siphash.cpp.

## ◆ SIPROUND

 #define SIPROUND
Value:
do { \
v0 += v1; \
v1 = ROTL(v1, 13); \
v1 ^= v0; \
v0 = ROTL(v0, 32); \
v2 += v3; \
v3 = ROTL(v3, 16); \
v3 ^= v2; \
v0 += v3; \
v3 = ROTL(v3, 21); \
v3 ^= v0; \
v2 += v1; \
v1 = ROTL(v1, 17); \
v1 ^= v2; \
v2 = ROTL(v2, 32); \
} while (0)
#define ROTL(x, b)
Definition: siphash.cpp:7

Definition at line 9 of file siphash.cpp.

## ◆ SipHashUint256()

 uint64_t SipHashUint256 ( uint64_t k0, uint64_t k1, const uint256 & val )

Optimized SipHash-2-4 implementation for uint256.

It is identical to: SipHasher(k0, k1) .Write(val.GetUint64(0)) .Write(val.GetUint64(1)) .Write(val.GetUint64(2)) .Write(val.GetUint64(3)) .Finalize()

Definition at line 99 of file siphash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ SipHashUint256Extra()

 uint64_t SipHashUint256Extra ( uint64_t k0, uint64_t k1, const uint256 & val, uint32_t extra )

Definition at line 138 of file siphash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: