Logo
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
hash.hh
Go to the documentation of this file.
1 #pragma once
2 
3 #include <stddef.h>
4 #include <stdint.h>
5 #include <string>
6 
7 #define HASHLENGTH 64
8 
9 #undef get16bits
10 #if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
11  || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
12 #define get16bits(d) (*((const uint16_t *) (d)))
13 #endif
14 
15 #if !defined (get16bits)
16 #define get16bits(d) ((((uint32_t)(((const uint8_t *)(d))[1])) << 8)\
17  +(uint32_t)(((const uint8_t *)(d))[0]) )
18 #endif
19 
20 extern "C" uint32_t h (const char *, size_t);
21 extern "C" uint32_t hash_ruby (const char * data);
22 uint32_t h (std::string);
uint32_t hash_ruby(const char *data)
Definition: hash.cc:60
uint32_t h(const char *, size_t)
Definition: hash.cc:6