The Pedigree Project  0.1
Public Member Functions | Static Public Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
SpookyHash Class Reference
+ Collaboration diagram for SpookyHash:

Public Member Functions

void Init (uint64 seed1, uint64 seed2)
 
void Update (const void *message, size_t length)
 
void Final (uint64 *hash1, uint64 *hash2)
 

Static Public Member Functions

static void Hash128 (const void *message, size_t length, uint64 *hash1, uint64 *hash2)
 
static uint64 Hash64 (const void *message, size_t length, uint64 seed)
 
static uint32 Hash32 (const void *message, size_t length, uint32 seed)
 
static INLINE uint64 Rot64 (uint64 x, int k)
 
static INLINE void Mix (const uint64 *data, uint64 &s0, uint64 &s1, uint64 &s2, uint64 &s3, uint64 &s4, uint64 &s5, uint64 &s6, uint64 &s7, uint64 &s8, uint64 &s9, uint64 &s10, uint64 &s11)
 
static INLINE void EndPartial (uint64 &h0, uint64 &h1, uint64 &h2, uint64 &h3, uint64 &h4, uint64 &h5, uint64 &h6, uint64 &h7, uint64 &h8, uint64 &h9, uint64 &h10, uint64 &h11)
 
static INLINE void End (const uint64 *data, uint64 &h0, uint64 &h1, uint64 &h2, uint64 &h3, uint64 &h4, uint64 &h5, uint64 &h6, uint64 &h7, uint64 &h8, uint64 &h9, uint64 &h10, uint64 &h11)
 
static INLINE void ShortMix (uint64 &h0, uint64 &h1, uint64 &h2, uint64 &h3)
 
static INLINE void ShortEnd (uint64 &h0, uint64 &h1, uint64 &h2, uint64 &h3)
 

Static Private Member Functions

static void Short (const void *message, size_t length, uint64 *hash1, uint64 *hash2)
 

Private Attributes

uint64 m_data [2 *sc_numVars]
 
uint64 m_state [sc_numVars]
 
size_t m_length
 
uint8 m_remainder
 

Static Private Attributes

static const size_t sc_numVars = 12
 
static const size_t sc_blockSize = sc_numVars*8
 
static const size_t sc_bufSize = 2*sc_blockSize
 
static const uint64 sc_const = 0xdeadbeefdeadbeefLL
 

Detailed Description

Definition at line 66 of file SpookyV2.h.


The documentation for this class was generated from the following files: