From ec1503bbc83c554bb386a2ffa04773de59d56ec1 Mon Sep 17 00:00:00 2001 From: Peter Dimov Date: Thu, 2 Feb 2023 06:15:01 +0200 Subject: [PATCH] Hardcode q*q to avoid 'integral constant overflow' warnings --- include/boost/container_hash/detail/hash_range.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/container_hash/detail/hash_range.hpp b/include/boost/container_hash/detail/hash_range.hpp index 97e2c7c..db7bb55 100644 --- a/include/boost/container_hash/detail/hash_range.hpp +++ b/include/boost/container_hash/detail/hash_range.hpp @@ -257,7 +257,7 @@ std::size_t>::type std::size_t n = static_cast( last - first ); boost::uint64_t const q = 0x9e3779b97f4a7c15ULL; - boost::uint64_t const k = q * q; + boost::uint64_t const k = 0xdf442d22ce4859b9ULL; // q * q boost::uint64_t w = mulx( seed + q, k ); boost::uint64_t h = w ^ n; @@ -309,7 +309,7 @@ std::size_t>::type std::size_t n = 0; boost::uint64_t const q = 0x9e3779b97f4a7c15ULL; - boost::uint64_t const k = q * q; + boost::uint64_t const k = 0xdf442d22ce4859b9ULL; // q * q boost::uint64_t w = mulx( seed + q, k ); boost::uint64_t h = w;