19 #include <gtest/gtest.h>
27 static constexpr
size_t kBits = K;
58 constexpr
size_t kBits = TypeParam::kBits;
59 for (
size_t i = 0;
i < kBits;
i++) {
63 for (
size_t j = 0; j < kBits; j++) {
70 constexpr
size_t kBits = TypeParam::kBits;
72 for (
size_t i = 0;
i < kBits;
i++) {
80 constexpr
size_t kBits = TypeParam::kBits;
82 std::set<size_t> bits_set;
83 std::random_device rd;
84 std::uniform_int_distribution<size_t> dist(0, kBits - 1);
85 for (
size_t i = 0;
i < 4 * kBits;
i++) {
86 size_t bit = dist(rd);
94 auto make_bitset = [](
bool b0,
bool b1,
bool b2) {
101 EXPECT_EQ(make_bitset(
false,
false,
false).ToInt<uint32_t>(), 0);
102 EXPECT_EQ(make_bitset(
true,
false,
false).ToInt<uint32_t>(), 1);
103 EXPECT_EQ(make_bitset(
false,
true,
false).ToInt<uint32_t>(), 2);
104 EXPECT_EQ(make_bitset(
true,
true,
false).ToInt<uint32_t>(), 3);
105 EXPECT_EQ(make_bitset(
false,
false,
true).ToInt<uint32_t>(), 4);
106 EXPECT_EQ(make_bitset(
true,
false,
true).ToInt<uint32_t>(), 5);
107 EXPECT_EQ(make_bitset(
false,
true,
true).ToInt<uint32_t>(), 6);
108 EXPECT_EQ(make_bitset(
true,
true,
true).ToInt<uint32_t>(), 7);
121 int main(
int argc,
char** argv) {