GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 84 / 0 / 84
Functions: 100.0% 12 / 0 / 12
Branches: 87.5% 84 / 0 / 96

src/conv/trans/zmt_supset/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../../../util/alias/others/lib.hpp"
4
5 namespace tifa_libs {
6
7 template <class T>
8 156 CEXP void zt_supset(vec<T>& f) NE {
9 156 cu32 n = (u32)f.size();
10
6/12
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 26 times.
156 assert(std::has_single_bit(n));
11
12/12
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✓ Branch 0 taken 268 times.
✓ Branch 1 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✓ Branch 0 taken 268 times.
✓ Branch 1 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✓ Branch 0 taken 268 times.
✓ Branch 1 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✓ Branch 0 taken 268 times.
✓ Branch 1 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✓ Branch 0 taken 268 times.
✓ Branch 1 taken 26 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✓ Branch 0 taken 268 times.
✓ Branch 1 taken 26 times.
1764 for (u32 i = 1; i < n; i *= 2)
12
12/12
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✓ Branch 0 taken 138351748 times.
✓ Branch 1 taken 268 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✓ Branch 0 taken 138351748 times.
✓ Branch 1 taken 268 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✓ Branch 0 taken 138351748 times.
✓ Branch 1 taken 268 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✓ Branch 0 taken 138351748 times.
✓ Branch 1 taken 268 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✓ Branch 0 taken 138351748 times.
✓ Branch 1 taken 268 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✓ Branch 0 taken 138351748 times.
✓ Branch 1 taken 268 times.
830112096 flt_ (u32, j, 0, n)
13
12/12
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 69175874 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 69175874 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 69175874 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 69175874 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 69175874 times.
void tifa_libs::zt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 69175874 times.
830110488 if (!(j & i)) f[j] += f[j | i];
14 156 }
15 template <class T>
16 78 CEXP void mt_supset(vec<T>& f) NE {
17 78 cu32 n = (u32)f.size();
18
6/12
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✗ Branch 1 not taken.
✓ Branch 2 taken 13 times.
78 assert(std::has_single_bit(n));
19
12/12
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✓ Branch 0 taken 134 times.
✓ Branch 1 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✓ Branch 0 taken 134 times.
✓ Branch 1 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✓ Branch 0 taken 134 times.
✓ Branch 1 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✓ Branch 0 taken 134 times.
✓ Branch 1 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✓ Branch 0 taken 134 times.
✓ Branch 1 taken 13 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✓ Branch 0 taken 134 times.
✓ Branch 1 taken 13 times.
882 for (u32 i = 1; i < n; i *= 2)
20
12/12
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 134 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 134 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 134 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 134 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 134 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✓ Branch 0 taken 69175874 times.
✓ Branch 1 taken 134 times.
415056048 flt_ (u32, j, 0, n)
21
12/12
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >&):
✓ Branch 0 taken 34587937 times.
✓ Branch 1 taken 34587937 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > >&):
✓ Branch 0 taken 34587937 times.
✓ Branch 1 taken 34587937 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> > > >&):
✓ Branch 0 taken 34587937 times.
✓ Branch 1 taken 34587937 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >&):
✓ Branch 0 taken 34587937 times.
✓ Branch 1 taken 34587937 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > >&):
✓ Branch 0 taken 34587937 times.
✓ Branch 1 taken 34587937 times.
void tifa_libs::mt_supset<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > >&):
✓ Branch 0 taken 34587937 times.
✓ Branch 1 taken 34587937 times.
415055244 if (!(j & i)) f[j] -= f[j | i];
22 78 }
23
24 } // namespace tifa_libs
25