aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/farmhash/farmhash_iface.h
blob: 936aafd494c6702b2f2607e78fc0744f0f17acc1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#define FARMHASH_INTERFACE(name) namespace name {                                        \
    uint32_t Hash32(const char* s, size_t len);                                          \
    uint32_t Hash32WithSeed(const char* s, size_t len, uint32_t seed);                   \
    uint64_t Hash64(const char* s, size_t len);                                          \
    uint64_t Hash64WithSeed(const char* s, size_t len, uint64_t seed);                   \
    uint64_t Hash64WithSeeds(const char* s, size_t len, uint64_t seed0, uint64_t seed1); \
    uint128_t Hash128(const char* s, size_t len);                                        \
    uint128_t Hash128WithSeed(const char* s, size_t len, uint128_t seed);                \
}

namespace farmhashcc {
    uint32_t Fingerprint32(const char* s, size_t len);
    uint64_t Fingerprint64(const char* s, size_t len);
    uint128_t Fingerprint128(const char* s, size_t len);
    uint128_t CityHash128WithSeed(const char* s, size_t len, uint128_t seed);
}

FARMHASH_INTERFACE(farmhashcc)
FARMHASH_INTERFACE(farmhashsa)
FARMHASH_INTERFACE(farmhashsu)
FARMHASH_INTERFACE(farmhashmk)
FARMHASH_INTERFACE(farmhashnt)
FARMHASH_INTERFACE(farmhashte)
FARMHASH_INTERFACE(farmhashxo)
FARMHASH_INTERFACE(farmhashuo)
FARMHASH_INTERFACE(farmhashna)

#undef FARMHASH_INTERFACE