GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 114 / 0 / 114
Functions: 100.0% 6 / 0 / 6
Branches: 92.9% 78 / 0 / 84

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/12
std::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/12
std::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/12
std::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/12
std::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/12
std::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/12
std::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/12
std::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