Code coverage tests

This page documents the degree to which the PARI/GP source code is tested by our public test suite, distributed with the source distribution in directory src/test/. This is measured by the gcov utility; we then process gcov output using the lcov frond-end.

We test a few variants depending on Configure flags on the pari.math.u-bordeaux.fr machine (x86_64 architecture), and agregate them in the final report:

The target is 90% coverage for all mathematical modules (given that branches depending on DEBUGLEVEL or DEBUGMEM are not covered). This script is run to produce the results below.

LCOV - code coverage report
Current view: top level - basemath - modsym.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21342-bb34613) Lines: 2147 2250 95.4 %
Date: 2017-11-18 06:21:14 Functions: 230 232 99.1 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ellpadicLeul 0
ellpadicbsd 0
mfnumcuspsu 7
msgetlevel 7
msgetweight 7
msk_get_dim 7
msstar 7
mfnumcusps_fact 14
msfromhecke 14
msomseval 14
mspathgens 14
checksymbol 21
mfnumcusps 21
msfromcusp 21
msgetsign 21
msissymbol 28
eval_single 35
msatkinlehner 35
msatkinlehner_i 35
mspathlog_trivial 35
ellpadicL 63
mseval_by_values 63
NP_matrix_extra 84
WQ_matrix 98
cusp_to_P1Q 98
mspadicseries 98
mspathlog 98
oms_is_supersingular 98
twistmoment_minus 98
twistmoment_plus 98
path2_to_M2 119
path_to_M2 133
ZGl2Q_act_s 147
oms_dim2 154
get_Euler 161
is_Qevproj 161
mspadic_get_flag 161
NP_matrices 168
ms_unit_eigenvalue 231
cusp_to_ZC 238
msqexpansion 238
msqexpansion_i 238
mssplit 252
mssplit_i 252
Qevproj_apply0 259
msnew 266
TpE_char_bound 287
mscuspidal 287
Qevproj_star 294
mseisenstein 294
mseisenstein_i 294
msfromell 294
msfromell_check 294
msfromell_l 294
msfromell_ratlift 294
oms_dim1 294
msfromell_ker 301
msfromell_scale 315
ZX_factor_limit 322
Flc_normalize 343
msinit 364
ell_get_scale 385
get_Q 385
symtophi 385
torsion_order 385
cmp_dim 420
msfromcusp_trivial 434
mspadic_get_actUp 448
mspadic_get_q 448
eigenvalue 455
init_moments_act 455
mspadic_get_C 455
mspadic_get_M 455
mspadic_get_Tp 455
mspadic_get_bin 455
mspadicmoments 455
mstooms 455
mspadicinit 462
ell_get_scale_d 539
get_X 539
mspadicint_RgXlog 539
Delta_inv 553
msk_get_star 553
mskinit_nontrivial 553
Qevproj_apply2 602
concat2 602
red_mod_FilM 602
mskinit_trivial 665
Qevproj_init0 700
log1x 749
Qevproj_apply_vecei 777
RgMV_find_non_zero_last_row 812
QM_image 840
RgXC_to_moments 847
mspadic_get_weight 917
Up_matrices 924
checkmspadic 924
mseval 952
Qevproj_down 1057
RgMV_dim 1106
ZGV_tors 1106
mspadic_get_n 1148
QM_ker_r 1162
add_star 1218
count_Manin_symbols 1218
create_p1mod 1218
fill_W2_W12 1218
form_E_F_T 1218
form_list_of_cusps 1218
generatemsymbols 1218
indices_backward 1218
indices_forward 1218
indices_oo 1218
inithashcusps 1218
inithashmsymbols 1218
msinit_N 1218
mskinit 1218
p1N_get_div 1218
msstar_i 1225
mfnumcuspsu_fact 1239
p1N_get_fa 1323
msfromcusp_i 1365
mspadic_get_p 1372
Q_xpm 1645
ms_get_hashcusps 1659
mspadicL 1757
xlog1x 1757
FpVV_dotproduct 1778
parse_chi 1820
checkoms 1855
oms_get_D 1855
mspadicint 2303
Tp_matrices 2387
mshecke 2387
oms_get_n0 2401
endo_project 2422
reverse_list 2436
getMorphism_trivial 2478
omseval_int 2534
get_Ec_r 2576
voo_act_Gl2Q 2576
F_indices_oo 2688
mshecke_i 2688
mspadic_get_Wp 2765
ZM_inv_denom 2821
init_dual_act 3031
Qevproj_apply 3045
msk_get_starproj 3472
Gl2act_cache 3479
RgX_act_ZGl2Q 3619
msendo 3934
oms_get_n 4060
oms_get_p 4158
Qevproj_init 4165
ms_get_N 4256
msk_get_sign 4592
cusp_infinity 4872
p1_size 4872
getMorphism 5054
checkms 5761
Q_log_init 6552
Q_log_trivial 6552
clean_tail 6552
paths_decompose 7308
set_init 10787
hash_to_vec 10962
ms_get_p1N 11669
msk_get_weight 11669
doo_decompose 12089
get_phi_ij 12089
gamma_equiv_matrix 31073
RgX_to_moments 37667
ZGl2QC_to_act 39116
getMorphism_basis 58373
msk_get_invphiblock 58373
msk_get_link 58373
msk_get_st 58373
gamma_equiv 59087
list_insert 59500
list_new 60718
insert_E 60900
msk_get_basis 61341
path_to_ZM 62559
dual_act 67900
phi_sparse 67900
path_to_p1_index 91350
F_indices 113876
path_Gamma0N_decompose 123872
init_act_trivial 127477
ms_get_nbE1 132202
RgV_sparse 156968
ZSl2C_star_inplace 156968
M2_log 157052
ms_get_nbgen 157920
ms_get_genindex 164808
set_insert 178913
cusp_index 201789
cusp_std_form 201789
moments_act 252917
RgX_act_Gl2Q 255353
_RgX_act_Gl2Q 255353
mat2_to_ZM 278306
Fl_inverse 322427
dense_act_col 348124
mkpath 362285
M2_log_trivial 436282
Gamma0N_decompose 446698
RgX_powers 510706
cc 512309
dd 512309
act_ZGl2Q 521409
p1N_get_inverse 543676
sl2_inv 573146
ms_get_section 584766
Gl2Q_act_path 590688
path_to_zm 630091
ZC_apply_dinv 735504
ZSl2_star 742483
sparse_act_col 771176
mat2 1027845
SL2_inv 1046493
get_ms 1058827
cusp_mul 1181376
mkmat22 1301510
treat_index 1401323
p1N_get_invsafe 2002630
p1N_get_hash 2095345
p1_index 2095345
p1_std_form 2095345
p1N_get_N 5085696
treat_index_trivial 5158734
set_from_index 6560057

Generated by: LCOV version 1.11