diff --git a/src/cpp/ripple/SHAMap.cpp b/src/cpp/ripple/SHAMap.cpp index 6519638069..6bc488ae06 100644 --- a/src/cpp/ripple/SHAMap.cpp +++ b/src/cpp/ripple/SHAMap.cpp @@ -23,16 +23,11 @@ DECLARE_INSTANCE(SHAMapTreeNode); void SHAMapNode::setHash() const { -#if 0 - std::size_t h = theApp->getNonceST() + (mDepth * 0x9e3779b9); - mHash = mNodeID.hash_combine(h); -#else std::size_t h = theApp->getNonceST() + (mDepth * 0x9e3779b9); const unsigned int *ptr = reinterpret_cast(mNodeID.begin()); - for (int i = (mDepth + 3) / 4; i != 0; --i) - boost::hash_combine(h, *ptr++); + for (int i = (mDepth + 7) / 8; i != 0; --i) + h = (h * 0x9e3779b9) ^ *ptr++; mHash = h; -#endif } std::size_t hash_value(const SHAMapNode& mn)