test/cpv_local/enum/gosper.cpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | // competitive-verifier: STANDALONE | ||
| 2 | |||
| 3 | #include "../../../src/comb/binom/lib.hpp" | ||
| 4 | #include "../../../src/gen/gosper/lib.hpp" | ||
| 5 | #include "../../../src/math/ds/mint/ms/lib.hpp" | ||
| 6 | #include "../base.hpp" | ||
| 7 | |||
| 8 | using namespace tifa_libs; | ||
| 9 | using mint = mint_ms<998244353>; | ||
| 10 | |||
| 11 | template <u32 ID> | ||
| 12 | 12 | void test(u32 n, u32 kmax) { | |
| 13 | 12 | binom<mint> binom(n); | |
| 14 |
30/52void test<1u>(unsigned int, unsigned int):
✓ Branch 11 taken 120 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 120 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 120 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 120 times.
✗ Branch 21 not taken.
✓ Branch 27 taken 120 times.
✗ Branch 28 not taken.
✓ Branch 35 taken 120 times.
✓ Branch 36 taken 21 times.
✓ Branch 38 taken 21 times.
✗ Branch 39 not taken.
✓ Branch 41 taken 21 times.
✗ Branch 42 not taken.
✓ Branch 47 taken 21 times.
✗ Branch 48 not taken.
✓ Branch 51 taken 21 times.
✓ Branch 52 taken 6 times.
✓ Branch 55 taken 6 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 6 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 6 times.
✗ Branch 62 not taken.
void test<2u>(unsigned int, unsigned int):
✓ Branch 11 taken 328399514 times.
✗ Branch 12 not taken.
✓ Branch 14 taken 328399514 times.
✗ Branch 15 not taken.
✓ Branch 17 taken 328399514 times.
✗ Branch 18 not taken.
✓ Branch 20 taken 328399514 times.
✗ Branch 21 not taken.
✓ Branch 27 taken 328399514 times.
✗ Branch 28 not taken.
✓ Branch 35 taken 328399514 times.
✓ Branch 36 taken 61 times.
✓ Branch 38 taken 61 times.
✗ Branch 39 not taken.
✓ Branch 41 taken 61 times.
✗ Branch 42 not taken.
✓ Branch 47 taken 61 times.
✗ Branch 48 not taken.
✓ Branch 51 taken 61 times.
✓ Branch 52 taken 6 times.
✓ Branch 55 taken 6 times.
✗ Branch 56 not taken.
✓ Branch 58 taken 6 times.
✗ Branch 59 not taken.
✓ Branch 61 taken 6 times.
✗ Branch 62 not taken.
|
328399728 | timer_(flt_ (u32, k, 1, kmax + 1) { |
| 15 | gosper<ID>::set(n, k); | ||
| 16 | gosper<ID> gs; | ||
| 17 | u32 cnt = 0, cnt_correct = binom.mCn(n, k).val(); | ||
| 18 | for (auto i : gs) { | ||
| 19 | ++cnt; | ||
| 20 | check((u32)std::popcount(i), k, check_param(n), check_param(k), check_param(std::bitset<64>(i).to_string())); | ||
| 21 | } | ||
| 22 | check(cnt, cnt_correct, check_param(n), check_param(k)); | ||
| 23 | }); | ||
| 24 | 12 | } | |
| 25 | |||
| 26 | 1 | int main() { | |
| 27 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<1>(1, 1)); |
| 28 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<1>(2, 2)); |
| 29 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<1>(3, 3)); |
| 30 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<1>(4, 4)); |
| 31 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<1>(5, 5)); |
| 32 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<1>(6, 6)); |
| 33 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<2>(10, 10)); |
| 34 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<2>(20, 20)); |
| 35 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<2>(30, 10)); |
| 36 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<2>(40, 8)); |
| 37 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<2>(50, 7)); |
| 38 |
3/6✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 11 not taken.
|
1 | timer_(test<2>(60, 6)); |
| 39 | 1 | } | |
| 40 |