// Multiply by X. The actual degree must be < DEG.
void mulX() {
- CHECK_EQ(0, val_[0] & (1UL<<63));
+ CHECK_EQ(0, val_[0] & (1ULL<<63));
uint64_t b = 0;
for (int i = size()-1; i >= 0; i--) {
uint64_t nb = val_[i] >> 63;
// the binary representation of A, left shift by 1,
// XOR p if a_(k-1) == 1
void mulXmod(const FingerprintPolynomial<DEG>& p) {
- bool needXOR = (val_[0] & (1UL<<63));
- val_[0] &= ~(1UL<<63);
+ bool needXOR = (val_[0] & (1ULL<<63));
+ val_[0] &= ~(1ULL<<63);
mulX();
if (needXOR) {
add(p);
DCHECK_LE(k, DEG);
int word_offset = (DEG - k) / 64;
int bit_offset = 63 - (DEG - k) % 64;
- val_[word_offset] ^= (1UL << bit_offset);
+ val_[word_offset] ^= (1ULL << bit_offset);
}
// Set the highest 8 bits to val.
void updateLSB(uint64_t val, int bits) {
val <<= (64-bits);
for (; bits != 0; --bits) {
- updateBit(val & (1UL << 63));
+ updateBit(val & (1ULL << 63));
val <<= 1;
}
}
EXPECT_EQ(1024, nextPowTwoFunc(513u)); \
EXPECT_EQ(1024, nextPowTwoFunc(777u)); \
EXPECT_EQ(1ul << 31, nextPowTwoFunc((1ul << 31) - 1)); \
- EXPECT_EQ(1ul << 32, nextPowTwoFunc((1ul << 32) - 1)); \
+ EXPECT_EQ(1ull << 32, nextPowTwoFunc((1ull << 32) - 1)); \
EXPECT_EQ(1ull << 63, nextPowTwoFunc((1ull << 62) + 1)); \
}
// ssse3 decoding requires that the source buffer have length >= 17,
// so that it can read 128 bits from &start[1] via _mm_loadu_si128.
- foundBytes.resize(std::max(size + 4, 17UL));
+ foundBytes.resize(std::max<size_t>(size + 4, 17UL));
char* start = &(foundBytes.front());
char* p = GroupVarint32::encode(start, a, b, c, d);
EXPECT_EQ((void*)(start + size), (void*)p);
BENCHMARK(Random32) { doNotOptimizeAway(Random::rand32()); }
BENCHMARK(Random32Num) { doNotOptimizeAway(Random::rand32(100)); }
BENCHMARK(Random64) { doNotOptimizeAway(Random::rand64()); }
-BENCHMARK(Random64Num) { doNotOptimizeAway(Random::rand64(100ul << 32)); }
+BENCHMARK(Random64Num) { doNotOptimizeAway(Random::rand64(100ull << 32)); }
BENCHMARK(Random64OneIn) { doNotOptimizeAway(Random::oneIn(100)); }
int main(int argc, char** argv) {