http://www.isthe.com/chongo/tech/comp/fnv/index.html
*/
-unsigned hash32(const void *data, unsigned size, unsigned bits)
+UInt32 hash32(const void *data, unsigned size, unsigned bits)
{
if(bits==0 || bits>32)
throw invalid_argument("hash32");
return result;
}
-HashValue64 hash64(const void *data, unsigned size, unsigned bits)
+UInt64 hash64(const void *data, unsigned size, unsigned bits)
{
if(bits==0 || bits>64)
throw invalid_argument("hash64");
- static const HashValue64 prime = 1099511628211ULL;
- static const HashValue64 offset = 14695981039346656037ULL;
+ static const UInt64 prime = 1099511628211ULL;
+ static const UInt64 offset = 14695981039346656037ULL;
- HashValue64 result = offset;
+ UInt64 result = offset;
for(unsigned i=0; i<size; ++i)
result = (result^*(reinterpret_cast<const unsigned char *>(data)+i))*prime;