Skip to content

Commit fcf0949

Browse files
authored
Resolve ambiguity in simd_word test by explicitly casting size_t to uint64_t for << operator usage (#758)
author: @sengthai (https://github.com/sengthai) original PR: #751
1 parent 91e5d1d commit fcf0949

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/stim/mem/simd_word.test.cc

+5-5
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,11 @@ TEST_EACH_WORD_SIZE_W(simd_word, shifting, {
112112
for (size_t k = 0; k < W; k++) {
113113
std::array<uint64_t, W / 64> expected{};
114114
expected[k / 64] = uint64_t{1} << (k % 64);
115-
EXPECT_EQ((w << k).to_u64_array(), expected) << k;
115+
EXPECT_EQ((w << static_cast<uint64_t>(k)).to_u64_array(), expected) << k;
116116
if (k > 0) {
117-
EXPECT_EQ(((w << (k - 1)) << 1).to_u64_array(), expected) << k;
117+
EXPECT_EQ(((w << (static_cast<uint64_t>(k) - 1)) << 1).to_u64_array(), expected) << k;
118118
}
119-
EXPECT_EQ(w, (w << k) >> k) << k;
119+
EXPECT_EQ(w, (w << static_cast<uint64_t>(k)) >> static_cast<uint64_t>(k)) << k;
120120
}
121121

122122
ASSERT_EQ(w << 0, 1);
@@ -127,8 +127,8 @@ TEST_EACH_WORD_SIZE_W(simd_word, shifting, {
127127
ASSERT_EQ(w >> 2, 0);
128128
ASSERT_EQ((w << 5) >> 5, 1);
129129
ASSERT_EQ((w >> 5) << 5, 0);
130-
ASSERT_EQ((w << (W - 1)) << 1, 0);
131-
ASSERT_EQ((w << (W - 1)) >> (W - 1), 1);
130+
ASSERT_EQ((w << static_cast<uint64_t>(W - 1)) << 1, 0);
131+
ASSERT_EQ((w << static_cast<uint64_t>(W - 1)) >> static_cast<uint64_t>(W - 1), 1);
132132
})
133133

134134
TEST_EACH_WORD_SIZE_W(simd_word, masking, {

0 commit comments

Comments
 (0)