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.1 lcov report (development 30446-bebd557ed6) Lines: 2815 3016 93.3 %
Date: 2025-08-06 09:23:53 Functions: 295 301 98.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Ast2v 0
Delta_inv 630
E2fromE1_Zgamma 579957
E2fromE1_c 42524258
E2fromE1_gamma 94864
F_indices 347312
F_indices_oo 12880
Fl_inverse 551579
Flc_normalize 5152
FpVV_dotproduct 2156
Gamma0N_decompose 498463
Gl2Q_act_path 1366988
Gl2act_cache 3668
M2_log 178213
M2_log_trivial 1248296
M2_logf 165522
NP_matrices 182
NP_matrix_extra 98
Q_log_init 2246979
Q_log_trivial 2246979
Qevproj_apply 3031
Qevproj_apply0 217
Qevproj_apply2 3661
Qevproj_apply_vecei 819
Qevproj_down 4186
Qevproj_init 8785
Qevproj_init0 728
Qevproj_star 287
RgMV_dim 1260
RgMV_find_non_zero_last_row 945
RgV_sparse 165522
RgXC_to_moments 882
RgX_act_Gl2Q 350749
RgX_act_ZGl2Q 60907
RgX_powers 701834
RgX_to_moments 38626
SL2_inv2 41839
SL2_inv_shallow 1275512
TpE_char_bound 266
Tp_matrices 5831
Up_matrices 987
WQ_matrix 112
ZC_apply_dinv 744023
ZGV_tors 1260
ZGl2QC_preload 40677
ZGl2QC_to_act 40691
ZGl2Q_act_s 115626
ZM2_det 90174
ZM2_div 91049
ZM2_rev 90174
ZMV_size 0
ZM_det2 95368
ZM_det2_sign 5194
ZM_inv_denom 3066
ZSl2_star 845705
ZX_factor_limit 343
_4i 3822
_RgX_act_Gl2Q 350602
_m4i 1911
act 168
act_ZGl2Q 600649
act_ij 0
actf 168
add_star 3948
allxpm 9485
basic_op 2520
basic_op_elliptic 154
basic_op_perm 2520
basic_op_perm_elliptic 154
bil 18151
binomial_init 1379
cc 1590372
checkms 79184
checkmspadic 980
checkoms 1918
checksymbol 21
circle2tex 0
clean_tail 6762
cmp_dim 434
co_get_B 140
co_get_BD 112
co_get_C 84
co_get_N 420
co_get_k 504
cocycle 6181
concat2 630
count_Manin_symbols 4263
create_p1mod 4263
cusp_index 203469
cusp_infinity 16940
cusp_mul 2733976
cusp_std_form 203469
cusp_to_P1Q 112
cusp_to_ZC 16772
dd 1590372
decorate 0
dense_act_col 354354
doo_decompose 12873
dual_act 69139
eigenvalue 483
eisCocycle 28
eiscocycle 84
eisf 28
eisker 28
eisker_worker 28
eispetersson 84
eisspace 28
ell_get_Cw 5152
ell_get_scale 2891
endo_project 2527
eval_single 20314
evalcap 252
evalcup 84
evalhull 84
evalmanin 84
fill1 4466
fill2 2520
fill_W2_W12 4235
form_E_F_T 4235
form_list_of_cusps 4235
gamma_equiv 182854
gamma_equiv_matrix 96460
generatemsymbols 4263
getMorphism 11298
getMorphism_basis 59402
getMorphism_trivial 8589
get_C 28
get_Ec_r 2604
get_bern 28
get_g 90174
get_msN 5446721
get_phi_ij 12873
hash_preload 1069894
hash_to_vec 38115
hash_vecpreload 539728
indices_backward 4235
indices_forward 4235
indices_oo 4235
init_act_trivial 2561811
init_dual_act 3192
init_moments_act 483
inithashcusps 4263
inithashmsymbols 4263
insert_E 189728
is_Qevproj 2583
isminustriv 49
list_insert 184331
list_new 188566
log1x 784
mat2 3137757
mat2_isidentity 162568
mat2_to_ZM 633556
mfnumcusps 21
mfnumcusps_fact 14
mfnumcuspsu 7
mfnumcuspsu_fact 4347
mkS 84
mkTAU 4319
mkpath 1124403
moments_act 275611
moments_act_i 276073
msN_get_E2fromE1 42388941
msN_get_annT2 1393
msN_get_annT31 1393
msN_get_genindex 213983
msN_get_p1N 3257387
msN_get_section 926555
msN_get_singlerel 1358
ms_get_N 96586
ms_get_genindex 204050
ms_get_hashcusps 1680
ms_get_nbE1 2618504
ms_get_nbgen 199444
ms_get_p1N 122108
ms_get_section 29995
msatkinlehner 42
msatkinlehner_i 42
mscuspidal 343
msdim 224
mseisenstein 21
mseisenstein_i 287
msendo 10136
mseval 55356
mseval2_ooQ 2229556
mseval_by_values 54397
msfromcusp 28
msfromcusp_i 1393
msfromcusp_trivial 462
msfromell 2891
msfromell_check 2891
msfromell_ker 3675
msfromell_l 2891
msfromell_ratlift 2891
msfromell_scale 10157
msfromhecke 21
msgetlevel 14
msgetsign 28
msgetweight 14
mshecke 2478
mshecke_i 6153
msinit 518
msinit_N 4263
msissymbol 56
msk_get_basis 82516
msk_get_dim 126
msk_get_inv 59402
msk_get_link 59087
msk_get_sign 59759
msk_get_st 59087
msk_get_star 3108
msk_get_starproj 3710
msk_get_weight 130704
mskinit 3948
mskinit_nontrivial 630
mskinit_trivial 3304
mslattice 2226
msnew 287
msomseval 14
mspadicL 1820
mspadic_get_C 483
mspadic_get_M 483
mspadic_get_Tp 483
mspadic_get_Wp 2933
mspadic_get_actUp 476
mspadic_get_bin 483
mspadic_get_flag 161
mspadic_get_n 1211
mspadic_get_p 1456
mspadic_get_q 476
mspadic_get_weight 973
mspadic_parse_chi 1911
mspadic_unit_eigenvalue 532
mspadicinit 490
mspadicint 2366
mspadicint_RgXlog 539
mspadicmoments 483
mspadicseries 98
mspathgens 21
mspathgens_i 21
mspathlog 12691
mspathlog_trivial 41769
mspetersson 1351
mspetersson_i 1351
mspolygon 2590
msqexpansion 259
msqexpansion_i 245
mssiegel 301
mssplit 266
mssplit_i 266
msstar 14
msstar_i 3962
mstooms 483
next 4830
oms_dim1 322
oms_dim2 154
oms_get_D 1918
oms_get_n 4186
oms_get_n0 2464
oms_get_p 4284
oms_is_supersingular 98
omseval_int 2954
p1N_get_N 58036713
p1N_get_div 4263
p1N_get_fa 4375
p1N_get_hash 26971063
p1N_get_inverse 8019130
p1N_get_invsafe 24173716
p1_index 26971063
p1_size 16940
p1_std_form 26971063
path2_to_M2 8386
path_Gamma0N_decompose 385602
path_to_M2 54474
path_to_ZM 194397
path_to_p1_index 284592
path_to_zm 1954799
path_vec_mul 5733
paths_decompose 25410
phi_sparse 69139
polygon2tex 0
prev 4830
red_mod_FilM 630
reverse_list 8470
rotate_perm 2884
set_from_index 116583999
set_insert 554470
seval 5152
siegel_init 2534
siegel_perm 5194
siegel_perm0 5558
siegelstep 1057
sl2_inv 886669
sparse_act_col 779093
symtophi 20692
treat_index 1535667
treat_index_trivial 115048332
twistmoment_4 98
twistmoment_m4 98
use_Petersson 294
voo_act_Gl2Q 2604
xlog1x 1820

Generated by: LCOV version 1.16