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 21682-493a494) Lines: 2508 2579 97.2 %
Date: 2018-01-16 06:18:33 Functions: 270 271 99.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
ZMV_size 0
mfnumcuspsu 7
msgetlevel 7
msgetweight 7
msstar 7
mfnumcusps_fact 14
msfromhecke 14
msomseval 14
mspathgens 14
checksymbol 21
mfnumcusps 21
msfromcusp 21
msgetsign 21
msatkinlehner 35
msatkinlehner_i 35
msissymbol 49
msk_get_dim 49
mslattice 49
NP_matrix_extra 84
msdim 84
WQ_matrix 98
cusp_to_P1Q 98
mspadicseries 98
oms_is_supersingular 98
twistmoment_4 98
twistmoment_m4 98
basic_op_elliptic 154
basic_op_perm_elliptic 154
oms_dim2 154
mspadic_get_flag 161
NP_matrices 168
nb_components 189
msqexpansion 238
msqexpansion_i 238
mssplit 252
mssplit_i 252
Qevproj_apply0 259
msnew 266
mspadic_unit_eigenvalue 266
is_Qevproj 273
mssiegel 301
TpE_char_bound 308
mscuspidal 308
Qevproj_star 322
ZX_factor_limit 322
mseisenstein 322
mseisenstein_i 322
oms_dim1 322
ell_get_scale 357
msfromell 357
siegel_init 357
msfromell_check 358
msfromell_l 358
msfromell_ratlift 358
mspolygon 364
msfromell_ker 394
cmp_dim 420
ell_get_Cw 441
msfromcusp_trivial 441
msfromell_scale 441
seval 441
Flc_normalize 443
msinit 448
mspadic_get_actUp 476
mspadic_get_q 476
eigenvalue 483
init_moments_act 483
mspadic_get_C 483
mspadic_get_M 483
mspadic_get_Tp 483
mspadic_get_bin 483
mspadicmoments 483
mstooms 483
mspadicinit 490
mspadicint_RgXlog 539
Qevproj_apply2 602
ellperiod 609
msk_get_star 616
Delta_inv 623
mskinit_nontrivial 623
concat2 630
red_mod_FilM 630
Qevproj_init0 700
mskinit_trivial 749
Qevproj_apply_vecei 777
log1x 784
RgXC_to_moments 882
QM_image 889
RgMV_find_non_zero_last_row 931
allxpm 938
Up_matrices 973
mspadic_get_weight 973
checkmspadic 980
Qevproj_down 1057
siegelstep 1057
QM_ker_r 1176
mspadic_get_n 1211
RgMV_dim 1246
ZGV_tors 1246
add_star 1372
mskinit 1372
msstar_i 1379
mspadic_get_p 1456
msfromcusp_i 1470
count_Manin_symbols 1666
create_p1mod 1666
fill_W2_W12 1666
form_E_F_T 1666
form_list_of_cusps 1666
generatemsymbols 1666
indices_backward 1666
indices_forward 1666
indices_oo 1666
inithashcusps 1666
inithashmsymbols 1666
msinit_N 1666
p1N_get_div 1666
mfnumcuspsu_fact 1701
p1N_get_fa 1771
ms_get_hashcusps 1792
mspadicL 1820
xlog1x 1820
mspadic_parse_chi 1911
checkoms 1918
oms_get_D 1918
Q_xpm 1981
FpVV_dotproduct 2156
mspadicint 2366
mshecke 2436
oms_get_n0 2464
endo_project 2471
Tp_matrices 2506
basic_op 2520
basic_op_perm 2520
fill2 2520
getMorphism_trivial 2702
mshecke_i 2828
get_Ec_r 2842
voo_act_Gl2Q 2842
rotate_perm 2884
mspadic_get_Wp 2933
omseval_int 2954
ZM_inv_denom 3052
Qevproj_apply 3066
init_dual_act 3143
mspetersson 3283
mspetersson_i 3283
msN_get_singlerel 3297
msN_get_annT2 3318
msN_get_annT31 3318
reverse_list 3332
mspathlog_trivial 3339
Gl2act_cache 3619
F_indices_oo 3794
oms_get_n 4186
msendo 4228
oms_get_p 4284
msk_get_starproj 4361
fill1 4466
Qevproj_init 4473
next 4830
prev 4830
siegel_perm 5194
ms_get_N 5243
getMorphism 5362
siegel_perm0 5558
path_vec_mul 5733
cusp_infinity 6664
p1_size 6664
clean_tail 6762
Q_log_init 7630
Q_log_trivial 7630
paths_decompose 9996
doo_decompose 12831
get_phi_ij 12831
set_init 13615
ZM2_det 14406
ZM2_rev 14406
get_g 14406
ms_get_section 14609
ZM2_div 14693
hash_to_vec 14994
ms_get_p1N 15344
path2_to_M2 17822
cocycle 17885
ZM_det2 19600
bil 20727
mspathlog 33649
cusp_to_ZC 35644
mseval_by_values 36932
path_to_M2 37002
mseval 37884
eval_single 38143
symtophi 38514
RgX_to_moments 38626
E2fromE1_gamma 38913
gamma_equiv_matrix 39725
ZGl2QC_preload 40698
ZGl2QC_to_act 40712
msk_get_sign 41685
getMorphism_basis 59507
msk_get_invphiblock 59507
msk_get_link 59507
msk_get_st 59507
dual_act 69146
phi_sparse 69146
gamma_equiv 75306
list_insert 76034
list_new 77700
insert_E 77826
checkms 79891
path_to_ZM 80178
msk_get_weight 89684
RgX_act_ZGl2Q 97251
msk_get_basis 100702
path_to_p1_index 116739
F_indices 144942
init_act_trivial 151809
path_Gamma0N_decompose 158732
ms_get_nbE1 160258
mat2_isidentity 162547
M2_logf 165501
RgV_sparse 165501
M2_log 199150
cusp_index 203644
cusp_std_form 203644
ZGl2Q_act_s 205023
set_insert 228830
ms_get_nbgen 238196
ms_get_genindex 242823
msN_get_genindex 248808
moments_act 275611
moments_act_i 276073
mat2_to_ZM 319165
Fl_inverse 354165
dense_act_col 354354
_RgX_act_Gl2Q 408114
RgX_act_Gl2Q 408247
mkpath 463596
hash_vecpreload 539973
Gamma0N_decompose 552398
M2_log_trivial 587223
E2fromE1_Zgamma 604800
act_ZGl2Q 637238
get_msN 648081
cc 654913
dd 654913
sl2_inv 713972
msN_get_section 732095
msN_get_p1N 735770
Gl2Q_act_path 744324
ZC_apply_dinv 744674
sparse_act_col 779884
path_to_zm 805315
RgX_powers 816494
ZSl2_star 882336
p1N_get_inverse 904113
hash_preload 1069670
SL2_inv 1267847
mat2 1306256
cusp_mul 1488648
treat_index 1632631
p1N_get_invsafe 2710169
p1N_get_hash 2850603
p1_index 2850603
p1_std_form 2850603
msN_get_E2fromE1 5409719
E2fromE1_c 5450704
p1N_get_N 6855366
treat_index_trivial 10861081
set_from_index 12493712

Generated by: LCOV version 1.11