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/20tifa_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/20tifa_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/20tifa_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/20tifa_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/20tifa_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/20tifa_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/40tifa_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 |