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/18tifa_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 |