Merge pull request #5510

e9809382 fix wide difficulty conversion with some versions of boost (moneromooo-monero)
This commit is contained in:
Riccardo Spagni 2019-05-07 17:36:27 +02:00
commit f64f59627d
No known key found for this signature in database
GPG key ID: 55432DF31CCD4FCD
11 changed files with 25 additions and 25 deletions

View file

@ -42,13 +42,13 @@ static crypto::hash MKHASH(uint64_t high, uint64_t low)
hash_target = (hash_target << 64) | low;
boost::multiprecision::uint256_t hash_value = std::numeric_limits<boost::multiprecision::uint256_t>::max() / hash_target;
crypto::hash h;
((uint64_t*)&h)[0] = hash_value.convert_to<uint64_t>();
((uint64_t*)&h)[0] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>();
hash_value >>= 64;
((uint64_t*)&h)[1] = hash_value.convert_to<uint64_t>();
((uint64_t*)&h)[1] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>();
hash_value >>= 64;
((uint64_t*)&h)[2] = hash_value.convert_to<uint64_t>();
((uint64_t*)&h)[2] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>();
hash_value >>= 64;
((uint64_t*)&h)[3] = hash_value.convert_to<uint64_t>();
((uint64_t*)&h)[3] = (hash_value & 0xffffffffffffffff).convert_to<uint64_t>();
return h;
}