GCC Code Coverage Report


Directory: ./
Coverage: low: ≥ 0% medium: ≥ 75.0% high: ≥ 90.0%
Coverage Exec / Excl / Total
Lines: 100.0% 30 / 0 / 30
Functions: 100.0% 10 / 0 / 10
Branches: 100.0% 20 / 0 / 20

src/math/do_quot/lib.hpp
Line Branch Exec Source
1 #pragma once
2
3 #include "../div64/lib.hpp"
4
5 namespace tifa_libs {
6
7 template <class F>
8 requires requires(F f, u64 n) { f(n, n, n); }
9 37015166 CEXP void do_quot(u64 n, F f, u64 l_begin = 1) NE {
10
20/20
void tifa_libs::do_quot<main::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, main::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 14830347 times.
✓ Branch 5 taken 26 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<13l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 3509754715 times.
✓ Branch 5 taken 3084571 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bd_tag<14l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 3509776610 times.
✓ Branch 5 taken 3084619 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_bs_tag<998244353ul> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 7019531325 times.
✓ Branch 5 taken 6169190 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<13l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<13l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 3509754715 times.
✓ Branch 5 taken 3084571 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md64_tag<14l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 3509776610 times.
✓ Branch 5 taken 3084619 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<13l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 3509754715 times.
✓ Branch 5 taken 3084571 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_md_tag<14l> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 3509776610 times.
✓ Branch 5 taken 3084619 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms64_tag<998244353ul> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 7019531325 times.
✓ Branch 5 taken 6169190 times.
void tifa_libs::do_quot<tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}>(unsigned long, tifa_libs::du_sieve<tifa_libs::mint_impl_::mint<tifa_libs::mint_ms_tag<998244353ul> >, main::{lambda(unsigned long)#1}, main::{lambda(unsigned long)#2}, main::{lambda(unsigned long)#3}>::calc(unsigned long)::{lambda(unsigned long, unsigned long, unsigned long)#1}, unsigned long):
✓ Branch 4 taken 7019531325 times.
✓ Branch 5 taken 6169190 times.
42169033463 for (u64 l = l_begin, r = 0, ed_ = n; l <= ed_; l = r + 1) f(l, r = div_u64(n, div_u64(n, l)), div_u64(n, l));
11 37015166 }
12
13 } // namespace tifa_libs
14