#include <iostream>
#include <iomanip>
#include <stdint.h>
#include <cstdio>
#include <string>
#include <sstream>
#include <cstdlib>
|
| uint32_t | rotl32 (uint32_t x, int r) |
| |
| void | posix_memalign_free (void *p) |
| |
| uint32_t | getblock32 (uint32_t p) |
| |
| uint32_t | fmix32 (uint32_t h0, uint32_t h1=0xd86b048b) |
| |
| void | pad_buffer (const char *src, char *buf, size_t len) |
| |
| void | VectorHashFold (uint32_t *res, uint32_t *z[], size_t nbits) |
| |
| static void | VectorHashFinalize (size_t len, uint32_t *h1, uint32_t *h2, uint32_t *h3, uint32_t *h4, void *out) |
| |
| static void | stateinit (uint32_t st[], uint32_t &seed) |
| |
| void | VectorHashBody (const uint32_t *data, uint32_t h1[], uint32_t h2[], uint32_t h3[], uint32_t h4[]) |
| |
| void | VectorHash (const void *key, size_t len, uint32_t seed, void *out) |
| |
| string | VHstream (FILE *io) |
| |
| string | VHstring (const string &s) |
| |
| #define _POSIX_MAPPED_FILES 0 |
| #define ROTL32 |
( |
|
x, |
|
|
|
y |
|
) |
| rotl32(x,y) |
| #define VEC |
( |
|
X | ) |
for( size_t j=0; j < vh_nint; j++ ) { X; } |
| #define VEC |
( |
|
X | ) |
for( size_t j=0; j < vh_nint; j++ ) { X; } |
| uint32_t fmix32 |
( |
uint32_t |
h0, |
|
|
uint32_t |
h1 = 0xd86b048b |
|
) |
| |
|
inline |
| uint32_t getblock32 |
( |
uint32_t |
p | ) |
|
|
inline |
| void pad_buffer |
( |
const char * |
src, |
|
|
char * |
buf, |
|
|
size_t |
len |
|
) |
| |
|
inline |
| void posix_memalign_free |
( |
void * |
p | ) |
|
|
inline |
| uint32_t rotl32 |
( |
uint32_t |
x, |
|
|
int |
r |
|
) |
| |
|
inline |
| static void stateinit |
( |
uint32_t |
st[], |
|
|
uint32_t & |
seed |
|
) |
| |
|
static |
| void VectorHash |
( |
const void * |
key, |
|
|
size_t |
len, |
|
|
uint32_t |
seed, |
|
|
void * |
out |
|
) |
| |
| void VectorHashBody |
( |
const uint32_t * |
data, |
|
|
uint32_t |
h1[], |
|
|
uint32_t |
h2[], |
|
|
uint32_t |
h3[], |
|
|
uint32_t |
h4[] |
|
) |
| |
|
inline |
| static void VectorHashFinalize |
( |
size_t |
len, |
|
|
uint32_t * |
h1, |
|
|
uint32_t * |
h2, |
|
|
uint32_t * |
h3, |
|
|
uint32_t * |
h4, |
|
|
void * |
out |
|
) |
| |
|
static |
| void VectorHashFold |
( |
uint32_t * |
res, |
|
|
uint32_t * |
z[], |
|
|
size_t |
nbits |
|
) |
| |
|
inline |
| string VHstream |
( |
FILE * |
io | ) |
|
| string VHstring |
( |
const string & |
s | ) |
|
| const size_t blocksize = 4*vh_nint*sizeof(uint32_t) |
|
static |
| const size_t vh_hash_width = 128 |
|
static |
| const size_t vh_hwreg_width = 512 |
|
static |