src/lalg/mat/charpoly/lib.hpp
| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #pragma once | ||
| 2 | |||
| 3 | #include "../../ds/mat/lib.hpp" | ||
| 4 | #include "../uhb/lib.hpp" | ||
| 5 | |||
| 6 | namespace tifa_libs { | ||
| 7 | |||
| 8 | template <class T, class Is0> | ||
| 9 | requires requires(Is0 is0, T t) { | ||
| 10 | { is0(t) } -> std::same_as<bool>; | ||
| 11 | } | ||
| 12 | 162 | CEXP vec<T> charpoly(matrix<T> mat, Is0&& is0) NE { | |
| 13 | 162 | cu32 n = mat.row(); | |
| 14 |
6/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
|
162 | assert(n == mat.col()); |
| 15 | 162 | uhb(mat, std::forward<Is0>(is0)); | |
| 16 | 162 | vvec<T> p(n + 1); | |
| 17 | 162 | p[0].resize(1), p[0][0] = 1, p[1].resize(2), p[1][0] = -mat(0, 0), p[1][1] = 1; | |
| 18 |
12/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✓ Branch 0 taken 9563 times.
✓ Branch 1 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✓ Branch 0 taken 9563 times.
✓ Branch 1 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✓ Branch 0 taken 9563 times.
✓ Branch 1 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✓ Branch 0 taken 9563 times.
✓ Branch 1 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✓ Branch 0 taken 9563 times.
✓ Branch 1 taken 27 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✓ Branch 0 taken 9563 times.
✓ Branch 1 taken 27 times.
|
57540 | flt_ (u32, i, 2, n + 1) { |
| 19 | 57378 | vec<T> CR pc = p[i - 1]; | |
| 20 | 57378 | vec<T>& pi = p[i]; | |
| 21 | 57378 | pi.resize(p[i - 1].size() + 1); | |
| 22 |
12/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✓ Branch 7 taken 2381100 times.
✓ Branch 8 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✓ Branch 7 taken 2381100 times.
✓ Branch 8 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✓ Branch 7 taken 2381100 times.
✓ Branch 8 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✓ Branch 7 taken 2381100 times.
✓ Branch 8 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✓ Branch 7 taken 2381100 times.
✓ Branch 8 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✓ Branch 7 taken 2381100 times.
✓ Branch 8 taken 9563 times.
|
14343978 | for (u32 j = 0, _ = (u32)pc.size(); j < _; ++j) pi[j] += pc[j] * -mat(i - 1, i - 1); |
| 23 |
12/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✓ Branch 4 taken 2381100 times.
✓ Branch 5 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✓ Branch 4 taken 2381100 times.
✓ Branch 5 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✓ Branch 4 taken 2381100 times.
✓ Branch 5 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✓ Branch 4 taken 2381100 times.
✓ Branch 5 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✓ Branch 4 taken 2381100 times.
✓ Branch 5 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✓ Branch 4 taken 2381100 times.
✓ Branch 5 taken 9563 times.
|
14343978 | for (u32 j = 0, _ = (u32)pc.size(); j < _; ++j) pi[j + 1] += pc[j]; |
| 24 | 57378 | T t = 1; | |
| 25 |
12/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✓ Branch 0 taken 2371537 times.
✓ Branch 1 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✓ Branch 0 taken 2371537 times.
✓ Branch 1 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✓ Branch 0 taken 2371537 times.
✓ Branch 1 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✓ Branch 0 taken 2371537 times.
✓ Branch 1 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✓ Branch 0 taken 2371537 times.
✓ Branch 1 taken 9563 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✓ Branch 0 taken 2371537 times.
✓ Branch 1 taken 9563 times.
|
14286600 | flt_ (u32, j, 1, i) { |
| 26 | 14229222 | const T _ = (t *= mat(i - j, i - j - 1)) * mat(i - j - 1, i - 1); | |
| 27 |
12/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✓ Branch 1 taken 1096783 times.
✓ Branch 2 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✓ Branch 1 taken 1096783 times.
✓ Branch 2 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✓ Branch 1 taken 1096783 times.
✓ Branch 2 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✓ Branch 1 taken 1096783 times.
✓ Branch 2 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✓ Branch 1 taken 1096783 times.
✓ Branch 2 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✓ Branch 1 taken 1096783 times.
✓ Branch 2 taken 1274754 times.
|
14229222 | if (is0(_)) continue; |
| 28 |
12/12std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> >)#1}&):
✓ Branch 5 taken 211342198 times.
✓ Branch 6 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >)#1}&):
✓ Branch 5 taken 211342198 times.
✓ Branch 6 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> >)#1}&):
✓ Branch 5 taken 211342198 times.
✓ Branch 6 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> >)#1}&):
✓ Branch 5 taken 211342198 times.
✓ Branch 6 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >)#1}&):
✓ Branch 5 taken 211342198 times.
✓ Branch 6 taken 1274754 times.
std::vector<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, std::allocator<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > > tifa_libs::charpoly<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&>(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >, main::{lambda(tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >)#1}&):
✓ Branch 5 taken 211342198 times.
✓ Branch 6 taken 1274754 times.
|
1275701712 | flt_ (u32, k, 0, i - j) pi[k] -= _ * p[i - j - 1][k]; |
| 29 | } | ||
| 30 | } | ||
| 31 | 162 | return p[n]; | |
| 32 | 162 | } | |
| 33 | |||
| 34 | } // namespace tifa_libs | ||
| 35 |