GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 140 / 0 / 140
Functions: 100.0% 30 / 0 / 30
Branches: 87.5% 140 / 0 / 160

src/comb/qbinom/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../binom/lib.hpp"
4 #include "../seq/invseq/lib.hpp"
5
6 namespace tifa_libs {
7
8 template <class mint, class fact = fact_helper<mint>>
9 struct qbinom : binom<mint, fact> {
10 using fact_t = fact;
11 vec<mint> qfact, iqfact;
12
13 780 CEXPE qbinom(u32 q, u32 max_m = fact::DEFAULT_MAX) NE : binom<mint, fact>(max_m), qfact(2) {
14
10/20
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✗ Branch 0 not taken.
✓ Branch 1 taken 26 times.
260 assert(q), qfact[0] = qfact[1] = 1;
15 260 mint x = 1;
16
20/20
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 0 taken 90459505 times.
✓ Branch 1 taken 9 times.
904595140 flt_ (u32, i, 2, max_m + 1)
17
20/20
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 5 taken 90459488 times.
✓ Branch 6 taken 17 times.
904595050 if ((x = x * q + 1).val()) qfact.push_back(x);
18 170 else break;
19
20/20
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qbinom(unsigned int, unsigned int):
✓ Branch 4 taken 90459465 times.
✓ Branch 5 taken 26 times.
904594910 flt_ (u32, i, 3, (u32)qfact.size()) qfact[i] *= qfact[i - 1];
20 260 iqfact = gen_invseq(qfact);
21 260 }
22
23 // $\binom{m}{n}_q$
24 194514390 CEXP mint qmCn(uint_c auto m, uint_c auto n) CNE {
25
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 0 taken 2396344 times.
✓ Branch 1 taken 17055095 times.
194514390 retif_((m < n) [[unlikely]], 0);
26
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qmCn<unsigned long, unsigned long>(unsigned long, unsigned long) const:
✓ Branch 1 taken 10721798 times.
✓ Branch 2 taken 6333297 times.
170550950 if (m < qfact.size()) return qfact[(usz)m] * iqfact[(usz)n] * iqfact[(usz)(m - n)];
27 63332970 return this->mCn(m / qfact.size(), n / qfact.size()) * qmCn(m % qfact.size(), n % qfact.size());
28 }
29 // $\binom{m}{n}_q$
30 template <sint_c T>
31
30/40
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<15l> >, double> > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::polymtt_impl_::cconv_mtt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<15l> >, double> > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<754974721ul> > > > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<754974721ul> > > > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> > tifa_libs::qbinom<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::factl_helper<tifa_libs::poly_impl_::poly<tifa_libs::poly3ntt_impl_::cconv_3ntt<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<167772161ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<469762049ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<754974721ul> > > > > >::qmCn<long>(long, long) const:
✓ Branch 0 taken 13118142 times.
✓ Branch 1 taken 10881872 times.
✗ Branch 2 not taken.
✓ Branch 3 taken 13118142 times.
240000140 CEXP mint qmCn(T m, T n) CNE { retif_((m < n || n < 0) [[unlikely]], 0, qmCn(to_uint_t<T>(m), to_uint_t<T>(n))); }
32 };
33
34 } // namespace tifa_libs
35