mirror of
https://github.com/moses-smt/mosesdecoder.git
synced 2024-10-26 19:37:58 +03:00
Make Chris Dyer feel safer about compile time if statement handling
git-svn-id: https://mosesdecoder.svn.sourceforge.net/svnroot/mosesdecoder/trunk@4358 1f5c12ca-751b-0410-a591-d2e778427230
This commit is contained in:
parent
7b129fa461
commit
967b725d73
@ -117,13 +117,18 @@ uint64_t MurmurHash64B ( const void * key, std::size_t len, unsigned int seed )
|
||||
|
||||
return h;
|
||||
}
|
||||
// Trick to test for 64-bit architecture at compile time.
|
||||
namespace {
|
||||
template <unsigned L> uint64_t MurmurHashNativeBackend(const void * key, std::size_t len, unsigned int seed) {
|
||||
return MurmurHash64A(key, len, seed);
|
||||
}
|
||||
template <> uint64_t MurmurHashNativeBackend<4>(const void * key, std::size_t len, unsigned int seed) {
|
||||
return MurmurHash64B(key, len, seed);
|
||||
}
|
||||
} // namespace
|
||||
|
||||
uint64_t MurmurHashNative(const void * key, std::size_t len, unsigned int seed) {
|
||||
if (sizeof(int) == 4) {
|
||||
return MurmurHash64B(key, len, seed);
|
||||
} else {
|
||||
return MurmurHash64A(key, len, seed);
|
||||
}
|
||||
return MurmurHashNativeBackend<sizeof(void*)>(key, len, seed);
|
||||
}
|
||||
|
||||
} // namespace util
|
||||
|
Loading…
Reference in New Issue
Block a user