farmhash_iface.h 1.3 KB

12345678910111213141516171819202122232425262728
  1. #define FARMHASH_INTERFACE(name) namespace name { \
  2. uint32_t Hash32(const char* s, size_t len); \
  3. uint32_t Hash32WithSeed(const char* s, size_t len, uint32_t seed); \
  4. uint64_t Hash64(const char* s, size_t len); \
  5. uint64_t Hash64WithSeed(const char* s, size_t len, uint64_t seed); \
  6. uint64_t Hash64WithSeeds(const char* s, size_t len, uint64_t seed0, uint64_t seed1); \
  7. uint128_t Hash128(const char* s, size_t len); \
  8. uint128_t Hash128WithSeed(const char* s, size_t len, uint128_t seed); \
  9. }
  10. namespace farmhashcc {
  11. uint32_t Fingerprint32(const char* s, size_t len);
  12. uint64_t Fingerprint64(const char* s, size_t len);
  13. uint128_t Fingerprint128(const char* s, size_t len);
  14. uint128_t CityHash128WithSeed(const char* s, size_t len, uint128_t seed);
  15. }
  16. FARMHASH_INTERFACE(farmhashcc)
  17. FARMHASH_INTERFACE(farmhashsa)
  18. FARMHASH_INTERFACE(farmhashsu)
  19. FARMHASH_INTERFACE(farmhashmk)
  20. FARMHASH_INTERFACE(farmhashnt)
  21. FARMHASH_INTERFACE(farmhashte)
  22. FARMHASH_INTERFACE(farmhashxo)
  23. FARMHASH_INTERFACE(farmhashuo)
  24. FARMHASH_INTERFACE(farmhashna)
  25. #undef FARMHASH_INTERFACE