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.12.0 lcov report (development 22872-edcf83abb) Lines: 2559 2684 95.3 %
Date: 2018-07-20 05:36:03 Functions: 274 279 98.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ast2v 0
M2Q 0
ZMV_size 0
circle2tex 0
polygon2tex 0
mfnumcuspsu 7
mfnumcusps_fact 14
msgetlevel 14
msgetweight 14
msomseval 14
msstar 14
checksymbol 21
mfnumcusps 21
msfromhecke 21
mspathgens 21
mspathgens_i 21
msfromcusp 28
msgetsign 28
mkS 42
msatkinlehner 42
msatkinlehner_i 42
msissymbol 56
mslattice 77
NP_matrix_extra 84
msk_get_dim 84
WQ_matrix 98
mspadicseries 98
oms_is_supersingular 98
twistmoment_4 98
twistmoment_m4 98
cusp_to_P1Q 112
msdim 112
basic_op_elliptic 154
basic_op_perm_elliptic 154
oms_dim2 154
mspadic_get_flag 161
NP_matrices 168
msqexpansion 245
msqexpansion_i 245
mssplit 259
mssplit_i 259
Qevproj_apply0 266
mspadic_unit_eigenvalue 266
msnew 280
mssiegel 301
nb_components 315
is_Qevproj 322
oms_dim1 322
ZX_factor_limit 329
TpE_char_bound 336
mscuspidal 336
Qevproj_star 357
mseisenstein 357
mseisenstein_i 357
ell_get_scale 378
msfromell 378
siegel_init 378
msfromell_check 379
msfromell_l 379
msfromell_ratlift 379
mspolygon 399
msfromell_ker 415
cmp_dim 420
msfromcusp_trivial 441
msinit 462
mspadic_get_actUp 476
mspadic_get_q 476
eigenvalue 483
ell_get_Cw 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
seval 483
Flc_normalize 485
mspadicinit 490
mspadicint_RgXlog 539
msfromell_scale 567
Delta_inv 623
mskinit_nontrivial 623
concat2 630
red_mod_FilM 630
msk_get_star 644
Qevproj_init0 714
mskinit_trivial 770
log1x 784
Qevproj_apply_vecei 819
ellperiod 861
RgXC_to_moments 882
RgMV_find_non_zero_last_row 931
QM_image 959
Up_matrices 973
mspadic_get_weight 973
checkmspadic 980
allxpm 1001
siegelstep 1057
QM_ker_r 1183
mspadic_get_n 1211
RgMV_dim 1246
ZGV_tors 1246
mspetersson 1351
mspetersson_i 1351
msN_get_singlerel 1358
msN_get_annT2 1393
msN_get_annT31 1393
add_star 1407
mskinit 1407
msstar_i 1421
mspadic_get_p 1456
msfromcusp_i 1512
fill_W2_W12 1687
form_E_F_T 1687
form_list_of_cusps 1687
indices_backward 1687
indices_forward 1687
indices_oo 1687
count_Manin_symbols 1708
create_p1mod 1708
generatemsymbols 1708
inithashcusps 1708
inithashmsymbols 1708
msinit_N 1708
p1N_get_div 1708
mkTAU 1729
mfnumcuspsu_fact 1764
p1N_get_fa 1813
mspadicL 1820
xlog1x 1820
ms_get_hashcusps 1869
mspadic_parse_chi 1911
checkoms 1918
oms_get_D 1918
Q_xpm 2065
FpVV_dotproduct 2156
mspadicint 2366
oms_get_n0 2464
basic_op 2520
basic_op_perm 2520
fill2 2520
mshecke 2534
endo_project 2583
Tp_matrices 2625
getMorphism_trivial 2744
rotate_perm 2884
get_Ec_r 2926
voo_act_Gl2Q 2926
mspadic_get_Wp 2933
mshecke_i 2947
omseval_int 2954
ZM_inv_denom 3052
Qevproj_apply 3122
init_dual_act 3262
reverse_list 3374
mspathlog_trivial 3444
SL2_inv2 3514
msk_get_starproj 3626
Qevproj_apply2 3724
Gl2act_cache 3738
F_indices_oo 3878
Qevproj_down 4186
oms_get_n 4186
oms_get_p 4284
msendo 4389
fill1 4466
next 4830
prev 4830
Qevproj_init 4886
siegel_perm 5194
getMorphism 5523
siegel_perm0 5558
path_vec_mul 5733
cocycle 6181
cusp_infinity 6748
p1_size 6748
clean_tail 6762
Q_log_init 7756
Q_log_trivial 7756
path2_to_M2 8386
paths_decompose 10122
mspathlog 12523
doo_decompose 12831
get_phi_ij 12831
set_init 13860
ZM2_det 14616
ZM2_rev 14616
get_g 14616
ms_get_section 14896
ZM2_div 14903
hash_to_vec 15183
mseval_by_values 15904
path_to_M2 15981
cusp_to_ZC 16772
mseval 16863
bil 17983
ZM_det2 19810
eval_single 20146
symtophi 20524
msk_get_sign 20874
checkms 36113
RgX_to_moments 38626
E2fromE1_gamma 39018
gamma_equiv_matrix 39830
ZGl2QC_preload 40817
ZGl2QC_to_act 40831
msk_get_weight 46081
msk_get_link 59507
msk_get_st 59507
getMorphism_basis 59948
msk_get_inv 59948
RgX_act_ZGl2Q 60718
dual_act 69545
phi_sparse 69545
ms_get_N 73150
gamma_equiv 75474
list_insert 76202
list_new 77889
insert_E 78036
path_to_ZM 80388
msk_get_basis 82838
ms_get_p1N 83377
ZGl2Q_act_s 115458
path_to_p1_index 117054
F_indices 145152
init_act_trivial 152208
path_Gamma0N_decompose 159152
ms_get_nbE1 162169
mat2_isidentity 163065
M2_logf 166019
RgV_sparse 166019
M2_log 178542
ms_get_nbgen 199605
cusp_index 203770
cusp_std_form 203770
ms_get_genindex 204400
msN_get_genindex 208488
set_insert 229334
moments_act 275611
moments_act_i 276073
mat2_to_ZM 332045
_RgX_act_Gl2Q 351113
RgX_act_Gl2Q 351260
dense_act_col 354354
Fl_inverse 354438
mkpath 464688
Gamma0N_decompose 499023
hash_vecpreload 540092
E2fromE1_Zgamma 580237
M2_log_trivial 587853
act_ZGl2Q 600824
cc 656488
dd 656488
get_msN 657741
sl2_inv 661101
msN_get_section 677565
RgX_powers 702520
ZC_apply_dinv 745115
Gl2Q_act_path 745367
msN_get_p1N 750995
sparse_act_col 780283
path_to_zm 807205
ZSl2_star 846321
p1N_get_inverse 905317
hash_preload 1070832
SL2_inv 1207556
mat2 1309966
cusp_mul 1490734
treat_index 1536703
p1N_get_invsafe 2679838
p1N_get_hash 2800399
p1_index 2800399
p1_std_form 2800399
msN_get_E2fromE1 5382986
E2fromE1_c 5427443
p1N_get_N 6770288
treat_index_trivial 10864210
set_from_index 12400913

Generated by: LCOV version 1.13