Fix msvc compiler error C4146 (minus operator applied to unsigned type)

On msvc14, the compiler error C4146 (unary minus operator applied to unsigned type, result still unsigned) had been occured.
Use '0 - x' styled formula instead of '-x' so as to fix the error.
This commit is contained in:
kobake 2017-02-14 15:39:51 +09:00
parent d978c41e1e
commit 292112f87e

View File

@ -254,8 +254,8 @@ void CRollingBloomFilter::insert(const std::vector<unsigned char>& vKey)
if (nGeneration == 4) { if (nGeneration == 4) {
nGeneration = 1; nGeneration = 1;
} }
uint64_t nGenerationMask1 = -(uint64_t)(nGeneration & 1); uint64_t nGenerationMask1 = 0 - (uint64_t)(nGeneration & 1);
uint64_t nGenerationMask2 = -(uint64_t)(nGeneration >> 1); uint64_t nGenerationMask2 = 0 - (uint64_t)(nGeneration >> 1);
/* Wipe old entries that used this generation number. */ /* Wipe old entries that used this generation number. */
for (uint32_t p = 0; p < data.size(); p += 2) { for (uint32_t p = 0; p < data.size(); p += 2) {
uint64_t p1 = data[p], p2 = data[p + 1]; uint64_t p1 = data[p], p2 = data[p + 1];