Macaulay2 Engine
Loading...
Searching...
No Matches

◆ TEST() [7/9]

TEST ( Subsets ,
encode6  )

Definition at line 122 of file SubsetTest.cpp.

123{
124 // test the increment and decrement functions too
125 const int n = 21;
126 const int p = 7;
127 const int n_choose_p = 116280;
128
129 Subsets C(n, p);
130
131 Subset a(p, 0);
132 Subset b(p, 0);
133 for (size_t i = 0; i < p; i++) b[i] = i;
134
135 for (size_t i = 0; i < n_choose_p; i++)
136 {
137 C.decode(i, a);
138 EXPECT_TRUE(sameSubset(a, b));
139 EXPECT_TRUE(C.isValid(a));
140 size_t j = C.encode(a);
141 EXPECT_EQ(i, j);
142 bool ret = Subsets::increment(n, b);
143 EXPECT_EQ(ret, i + 1 != n_choose_p);
144 }
145}
bool sameSubset(const Subset &a, const Subset &b)
static bool increment(size_t n, Subset &s)
Definition comb.cpp:124
Bijective integer encoding of q-subsets of {0, ..., n-1} via binomial(a_0, 1) + binomial(a_1,...
Definition comb.hpp:74
std::vector< size_t > Subset
Definition comb.hpp:58
int p

References Subsets::decode(), Subsets::encode(), Subsets::increment(), Subsets::isValid(), p, and sameSubset().