stasis-aries-wal/stasis/hash.h

23 lines
732 B
C
Raw Normal View History

#include <stasis/crc32.h>
#ifndef __HASH_H
#define __HASH_H
2006-05-25 00:02:46 +00:00
/**
@todo write a test harness for this...
*/
2006-05-24 02:19:04 +00:00
unsigned int max_bucket(unsigned char tableBits, unsigned int nextExtension);
/**
This function maps from the length of the bucket list to a appropriate set
of linear hash parameters to fill that size.
*/
void hashGetParamsForSize(unsigned int desiredSize, unsigned char *tableBits,
unsigned int* nextExtension);
unsigned int hash(const void * val, long val_length, unsigned char tableBits, unsigned int nextExtension);
#define twoToThe(x) (1 << (x))
2006-05-24 02:19:04 +00:00
/** @todo logBase2 should be able to handle 64 bit values, but
currently doesn't...*/
unsigned int logBase2(unsigned int value);
#endif /*__HASH_H */