GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 80 / 0 / 80
Functions: 100.0% 27 / 1 / 28
Branches: 50.0% 9 / 0 / 18

src/lalg/mat/merge_lr/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../../ds/mat/lib.hpp"
4
5 namespace tifa_libs {
6
7 // [l] [r] -> [l r]
8 template <class T>
9 607 CEXP matrix<T> merge_lr_mat(matrix<T> CR l, matrix<T> CR r) NE {
10 607 cu32 r_ = l.row();
11
9/18
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<12l> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 70 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 97 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<12l> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<13l> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<13l> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<13l> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<13l> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 70 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<12l> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 27 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 70 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 97 times.
tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > tifa_libs::merge_lr_mat<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > >(tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > const&, tifa_libs::matrix<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> > > const&):
✗ Branch 1 not taken.
✓ Branch 2 taken 97 times.
607 assert(r_ == r.row());
12 607 cu32 lc_ = l.col(), rc_ = r.col(), c_ = lc_ + rc_;
13 607 matrix<T> ret(r_, c_);
14 87829947 ret.apply_range(0, r_, 0, lc_, [&l](u32 i, u32 j, T& val) NE { val = l(i, j); });
15 71473761 ret.apply_range(0, r_, lc_, c_, [lc_, &r](u32 i, u32 j, T& val) NE { val = r(i, j - lc_); });
16 607 return ret;
17 }
18
19 } // namespace tifa_libs
20