Sux
Classes | Typedefs | Functions
sux::function Namespace Reference

Classes

struct  __hash128_t
 
class  DoubleEF
 
class  RecSplit
 
class  RiceBitVector
 
class  SplittingStrategy
 

Typedefs

typedef struct sux::function::__hash128_t hash128_t
 

Functions

uint64_t remix (uint64_t z)
 
hash128_t spooky (const void *data, const size_t length, const uint64_t seed)
 

Typedef Documentation

◆ hash128_t

128-bit hashes.

In the construction of RecSplit, keys are replaced with instances of this class using SpookyHash, first thing. Moreover, it is possible to build and query RecSplit instances using 128-bit random hashes only (mainly for benchmarking purposes).

Function Documentation

◆ remix()

uint64_t sux::function::remix ( uint64_t  z)
inline

David Stafford's (http://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html) 13th variant of the 64-bit finalizer function in Austin Appleby's MurmurHash3 (https://github.com/aappleby/smhasher).

Parameters
za 64-bit integer.
Returns
a 64-bit integer obtained by mixing the bits of z.

◆ spooky()

hash128_t sux::function::spooky ( const void *  data,
const size_t  length,
const uint64_t  seed 
)
inline

Convenience function hashing a key a returning a __hash128_t

Parameters
dataa pointer to the key.
lengththe length in bytes of the key.
seedan additional seed.