diff --git a/include/boost/unordered/detail/foa.hpp b/include/boost/unordered/detail/foa.hpp index 5f731494..7f657d6f 100644 --- a/include/boost/unordered/detail/foa.hpp +++ b/include/boost/unordered/detail/foa.hpp @@ -1384,8 +1384,18 @@ public: template BOOST_FORCEINLINE iterator find(const Key& x) { - auto hash=hash_for(x); - return find_impl(x,position_for(hash),hash); + //auto hash=hash_for(x); + auto hash=h()(x); + + boost::uint64_t z=(boost::uint64_t)hash; + + z^=z>>23; + z*=0xff51afd7ed558ccdull; + z^=z>>23; + + //hash=(std::size_t)z; + + return find_impl(x,position_for(z),z); } template