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 to exceed 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.18.0 lcov report (development 29821-ad8e616c7c) Lines: 2817 3018 93.3 %
Date: 2024-12-28 09:09:04 Functions: 296 302 98.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ast2v 0
ZMV_size 0
act_ij 0
circle2tex 0
decorate 0
polygon2tex 0
mfnumcuspsu 7
mfnumcusps_fact 14
msgetlevel 14
msgetweight 14
msomseval 14
msstar 14
checksymbol 21
mfnumcusps 21
mseisenstein 21
msfromhecke 21
mspathgens 21
mspathgens_i 21
eisCocycle 28
eisf 28
eisker 28
eisker_worker 28
eisspace 28
get_C 28
get_bern 28
msfromcusp 28
msgetsign 28
msatkinlehner 42
msatkinlehner_i 42
isminustriv 49
msissymbol 56
co_get_C 84
eiscocycle 84
eispetersson 84
evalcup 84
evalhull 84
evalmanin 84
mkS 84
NP_matrix_extra 98
mspadicseries 98
oms_is_supersingular 98
twistmoment_4 98
twistmoment_m4 98
WQ_matrix 112
co_get_BD 112
cusp_to_P1Q 112
msk_get_dim 126
co_get_B 140
basic_op_elliptic 154
basic_op_perm_elliptic 154
oms_dim2 154
mspadic_get_flag 161
act 168
actf 168
NP_matrices 182
Qevproj_apply0 217
msdim 224
msqexpansion_i 245
evalcap 252
msqexpansion 259
TpE_char_bound 266
mssplit 266
mssplit_i 266
Qevproj_star 287
mseisenstein_i 287
msnew 287
use_Petersson 294
mssiegel 301
oms_dim1 322
ZX_factor_limit 343
mscuspidal 343
co_get_N 420
cmp_dim 434
msfromcusp_trivial 462
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
co_get_k 504
msinit 518
mspadic_unit_eigenvalue 532
mspadicint_RgXlog 539
Delta_inv 630
concat2 630
mskinit_nontrivial 630
red_mod_FilM 630
Qevproj_init0 728
log1x 784
Qevproj_apply_vecei 819
RgXC_to_moments 882
RgMV_find_non_zero_last_row 945
mspadic_get_weight 973
checkmspadic 980
Up_matrices 987
siegelstep 1057
mspadic_get_n 1211
RgMV_dim 1260
ZGV_tors 1260
mspetersson 1351
mspetersson_i 1351
msN_get_singlerel 1358
binomial_init 1379
msN_get_annT2 1393
msN_get_annT31 1393
msfromcusp_i 1393
mspadic_get_p 1456
ms_get_hashcusps 1680
mspadicL 1820
xlog1x 1820
_m4i 1911
mspadic_parse_chi 1911
checkoms 1918
oms_get_D 1918
FpVV_dotproduct 2156
mslattice 2219
mspadicint 2366
oms_get_n0 2464
mshecke 2478
basic_op 2520
basic_op_perm 2520
fill2 2520
endo_project 2527
siegel_init 2527
is_Qevproj 2576
mspolygon 2583
get_Ec_r 2604
voo_act_Gl2Q 2604
ell_get_scale 2884
msfromell 2884
msfromell_check 2884
msfromell_l 2884
msfromell_ratlift 2884
rotate_perm 2884
mspadic_get_Wp 2933
omseval_int 2954
Qevproj_apply 3031
ZM_inv_denom 3066
msk_get_star 3101
init_dual_act 3192
mskinit_trivial 3297
Qevproj_apply2 3661
Gl2act_cache 3668
msfromell_ker 3668
msk_get_starproj 3710
_4i 3822
add_star 3941
mskinit 3941
msstar_i 3955
Qevproj_down 4186
oms_get_n 4186
fill_W2_W12 4228
form_E_F_T 4228
form_list_of_cusps 4228
indices_backward 4228
indices_forward 4228
indices_oo 4228
count_Manin_symbols 4256
create_p1mod 4256
generatemsymbols 4256
inithashcusps 4256
inithashmsymbols 4256
msinit_N 4256
p1N_get_div 4256
oms_get_p 4284
mkTAU 4312
mfnumcuspsu_fact 4340
p1N_get_fa 4368
fill1 4466
next 4830
prev 4830
Flc_normalize 5138
ell_get_Cw 5138
seval 5138
ZM_det2_sign 5194
siegel_perm 5194
siegel_perm0 5558
path_vec_mul 5733
Tp_matrices 5824
mshecke_i 6146
cocycle 6181
clean_tail 6762
Qevproj_init 8225
path2_to_M2 8386
reverse_list 8456
getMorphism_trivial 8575
allxpm 9464
msfromell_scale 10101
msendo 10122
getMorphism 11284
mspathlog 12691
F_indices_oo 12866
doo_decompose 12873
get_phi_ij 12873
cusp_to_ZC 16772
cusp_infinity 16912
p1_size 16912
bil 18151
eval_single 20314
symtophi 20692
paths_decompose 25368
set_init 29036
ms_get_section 29953
hash_to_vec 38052
RgX_to_moments 38626
ZGl2QC_preload 40677
ZGl2QC_to_act 40691
mspathlog_trivial 41734
SL2_inv2 41804
mseval_by_values 54362
path_to_M2 54439
mseval 55321
msk_get_link 59087
msk_get_st 59087
getMorphism_basis 59402
msk_get_inv 59402
msk_get_sign 59724
RgX_act_ZGl2Q 60907
dual_act 69139
phi_sparse 69139
checkms 79135
msk_get_basis 82516
ZM2_det 90104
ZM2_rev 90104
get_g 90104
ZM2_div 90979
E2fromE1_gamma 94829
ZM_det2 95298
gamma_equiv_matrix 96425
ms_get_N 96523
ZGl2Q_act_s 115626
ms_get_p1N 122003
msk_get_weight 130613
mat2_isidentity 162568
M2_logf 165522
RgV_sparse 165522
M2_log 178213
gamma_equiv 182798
list_insert 184275
list_new 188503
insert_E 189658
path_to_ZM 194327
ms_get_nbgen 199444
cusp_index 203469
cusp_std_form 203469
ms_get_genindex 204050
msN_get_genindex 213969
moments_act 275611
moments_act_i 276073
path_to_p1_index 284487
F_indices 347228
_RgX_act_Gl2Q 350602
RgX_act_Gl2Q 350749
dense_act_col 354354
path_Gamma0N_decompose 385462
Gamma0N_decompose 498463
hash_vecpreload 539728
Fl_inverse 551481
set_insert 554302
E2fromE1_Zgamma 579957
act_ZGl2Q 600649
mat2_to_ZM 633346
RgX_powers 701834
ZC_apply_dinv 744023
sparse_act_col 779093
ZSl2_star 845705
sl2_inv 886529
msN_get_section 926352
hash_preload 1069894
mkpath 1124039
M2_log_trivial 1248121
SL2_inv_shallow 1275477
Gl2Q_act_path 1366848
treat_index 1535667
cc 1589847
dd 1589847
path_to_zm 1954169
mseval2_ooQ 2229528
Q_log_init 2246944
Q_log_trivial 2246944
init_act_trivial 2561678
ms_get_nbE1 2618315
cusp_mul 2733696
mat2 3136735
msN_get_p1N 3257100
get_msN 5446287
p1N_get_inverse 8018752
p1N_get_invsafe 24172918
p1N_get_hash 26970132
p1_index 26970132
p1_std_form 26970132
msN_get_E2fromE1 42388682
E2fromE1_c 42523936
p1N_get_N 58034571
treat_index_trivial 115047597
set_from_index 116583264

Generated by: LCOV version 1.16