GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 260 / 0 / 260
Functions: 100.0% 40 / 0 / 40
Branches: 85.7% 240 / 0 / 280

src/comb/stirling1_smallp/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../binom/lib.hpp"
4
5 namespace tifa_libs {
6
7 template <class mint, class fact = fact_helper<mint>, bool with_sgn = true>
8 class stirling1 {
9 const binom<mint, fact> mCn;
10 vvec<mint> s;
11
12 public:
13 36000160 static CEXP u32 mod() NE { return mint::mod(); }
14 //! @param p MUST be prime
15 400 CEXPE stirling1() NE : mCn(mint::mod()), s(mint::mod()) {
16 200 u32 p = mint::mod();
17
10/20
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✗ Branch 0 not taken.
✓ Branch 1 taken 20 times.
200 assert(p < 32768), s[0] = {1};
18
20/20
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 17180 times.
✓ Branch 1 taken 20 times.
172000 flt_ (u32, i, 1, p) {
19 171800 s[i].assign(i + 1, 0);
20
20/20
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29468997 times.
✓ Branch 1 taken 17180 times.
294861770 flt_ (u32, j, 0, i + 1) {
21
20/20
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
294689970 if (j) s[i][j] += s[i - 1][j - 1];
22
20/20
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::stirling1():
✓ Branch 0 taken 29451817 times.
✓ Branch 1 taken 17180 times.
294689970 if (j < i) s[i][j] += s[i - 1][j] * (p - i + 1);
23 }
24 }
25 200 }
26
27 template <std::signed_integral T>
28 36000160 CEXP mint operator()(T m_, T n_) CNE {
29
20/40
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3600016 times.
✗ Branch 1 not taken.
✗ Branch 2 not taken.
✓ Branch 3 taken 3600016 times.
36000160 retif_((n_ < 0 || n_ > m_) [[unlikely]], 0);
30 36000160 cu32 p = mod();
31 36000160 cu64 m = (u64)m_, n = (u64)n_, i = m / p;
32
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 243584 times.
✓ Branch 1 taken 3356432 times.
36000160 if (i > n) return 0;
33 33564320 u64 a = (n - i) / (p - 1);
34 33564320 cu32 j = u32(m % p);
35 33564320 u32 b = u32((n - i) % (p - 1));
36
40/40
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 851809 times.
✓ Branch 1 taken 2504623 times.
✓ Branch 2 taken 446652 times.
✓ Branch 3 taken 405157 times.
33564320 if (!b && j) {
37
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 445144 times.
✓ Branch 1 taken 1508 times.
4466520 if (b += p - 1; a) --a;
38 15080 else return 0;
39 }
40
30/40
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 3354924 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 1139597 times.
✓ Branch 3 taken 2215327 times.
33549240 if (i < a || b > j) return 0;
41 22153270 mint res = mCn.lucas(i, a) * s[j][b];
42 if CEXP (with_sgn)
43
20/20
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, tifa_libs::fact_helper<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, 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<13l> >, double> > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> > tifa_libs::stirling1<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, 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<14l> >, 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> > > > >, true>::operator()<long>(long, long) const:
✓ Branch 0 taken 981634 times.
✓ Branch 1 taken 1233693 times.
22153270 if ((i + a) & 1) res = -res;
44 22153270 return res;
45 }
46 template <std::unsigned_integral T>
47 36000160 CEXP mint operator()(T m_, T n_) CNE { return operator()(std::make_signed_t<T>(m_), std::make_signed_t<T>(n_)); }
48 };
49
50 } // namespace tifa_libs
51