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/14std::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/14std::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/14std::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/14std::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/70std::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/28std::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/14std::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/14std::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/14std::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 |