GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 154 / 0 / 154
Functions: 100.0% 7 / 0 / 7
Branches: 100.0% 196 / 0 / 196

src/str/run/hash/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../../../edh/discretization/lib.hpp"
4 #include "../../hash/lcpf/lib.hpp"
5 #include "../../hash/lcsf/lib.hpp"
6
7 namespace tifa_libs {
8
9 // @return {p, l, r}, uniqued
10 template <class hashstr_t>
11 168 CEXP vec<pt3u> run_hash(strnv s) NE {
12 168 cu32 n = (u32)s.size();
13 168 vecu st(n + 1);
14 168 vec<pt3u> runs;
15 168 hashstr_t hs;
16 168 hs.set(s);
17
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 24 times.
504 flt_ (u32, inv, 0, 2) {
18 336 st[0] = n + 1;
19
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 6569014 times.
✓ Branch 1 taken 48 times.
45983434 for (u32 i = n, top = 0, lt = 0; i; --i) {
20
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 11209501 times.
✓ Branch 1 taken 308 times.
78468663 while (top) {
21 78466507 cu32 x = min(st[top] - i, st[top - 1] - st[top]);
22
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 3 taken 3537364 times.
✓ Branch 4 taken 7672137 times.
78466507 lt = s[i - 1] == s[st[top] - 1] ? lcpf_hash(hs, hs, i - 1, st[top] - 1, x) : 0;
23
70/70
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 2679071 times.
✓ Branch 1 taken 8530430 times.
✓ Branch 5 taken 2342625 times.
✓ Branch 6 taken 336446 times.
✓ Branch 7 taken 8530430 times.
✓ Branch 8 taken 2342625 times.
✓ Branch 12 taken 4304349 times.
✓ Branch 13 taken 4226081 times.
✓ Branch 14 taken 4640795 times.
✓ Branch 15 taken 6568706 times.
78466507 if ((lt == x && st[top] - i < st[top - 1] - st[top]) || (lt < x && ((s[i + lt - 1] < s[st[top] + lt - 1]) ^ inv))) {
24 32485565 --top;
25 32485565 lt = 0;
26 45980942 } else break;
27 }
28
28/28
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 6568966 times.
✓ Branch 2 taken 48 times.
✓ Branch 5 taken 2501838 times.
✓ Branch 6 taken 4067128 times.
45983098 cu32 j = st[top], x = i > 1 && s[i - 2] == s[j - 2] ? lcsf_hash(hs, hs, i - 1, j - 1, j - i) : 0;
29
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 1 taken 4327518 times.
✓ Branch 2 taken 2241496 times.
45983098 if (st[++top] = i; x < j - i)
30
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 2 taken 148146 times.
✓ Branch 3 taken 4179372 times.
30292626 if (u32 y = s[i + lt - 1] == s[j + lt - 1] ? lt + lcpf_hash(hs, hs, i + lt - 1, j + lt - 1, n) : lt;
31
14/14
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<16l> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<17l> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr2<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<1000000007ul> >, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
std::vector<tifa_libs::pt3<unsigned int>, std::allocator<tifa_libs::pt3<unsigned int> > > tifa_libs::run_hash<tifa_libs::hash_substr<tifa_libs::mint_impl_::mint<tifa_libs::mint_2e61n1_tag>, 131u> >(std::basic_string_view<char, std::char_traits<char> >):
✓ Branch 0 taken 352827 times.
✓ Branch 1 taken 3974691 times.
30292626 x + y >= j - i) runs.emplace_back(j - i, i - x - 1, j + y - 1);
32 }
33 }
34 168 return uniq(runs);
35 168 }
36
37 } // namespace tifa_libs
38