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 - mftrace.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.2 lcov report (development 29115-f22e516b23) Lines: 7539 7750 97.3 %
Date: 2024-04-19 08:07:09 Functions: 766 772 99.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
A1 358519
A21 43638
A22 43638
A3 44086
A4 43204
AX_B 203
CHIvec_CHI 14826
CHIvec_N 23977856
CHIvec_expo 419223
CHIvec_ord 34685
CHIvec_parity 53886
CHIvec_val 23337461
CX_D 203
GL2toSL2 1120
Galois 30247
Haberland 133
Hfind 7
MF_get_CHI 8400
MF_get_E 4368
MF_get_M 6762
MF_get_Mindex 10360
MF_get_Minv 4746
MF_get_N 18928
MF_get_S 20993
MF_get_basis 1841
MF_get_dim 5467
MF_get_fields 581
MF_get_gN 19992
MF_get_gk 14273
MF_get_k 6874
MF_get_newforms 770
MF_get_r 245
MF_get_space 14490
MF_set_new 1330
MF_set_space 406
MFcusp_get_vMjd 665
MFnew_get_vj 7161
Mindex_as_coef 49
Minv_RgC_mul 7259
Minv_RgM_mul 1274
Miyake 84028
NK_eisen2 133
QabC_to_Flc 38164
QabM_Minv 574
QabM_indexrank 10374
QabM_init 1211
QabM_ker 1561
QabM_pseudoinv 1015
QabM_pseudoinv_i 1274
QabM_rank 35
QabM_to_Flm 595
QabM_tracerel 147
QabV_tracerel 16086
QabX_to_Flx 1484
Qab_Czeta 2188543
Qab_Czeta_Fl 220514
Qab_to_Fl 8534960
Qab_trace_init 34006
Qab_tracerel 0
Qab_zeta 200242
RgC_Bd_expand 82411
RgC_embedall 343
RgM_Minv_mul 2436
RgV_approx 119
RgV_div_RgXn 399
RgV_heckef2 98
RgV_mul_RgXn 3339
RgV_normalize 2065
RgV_pows_RgXn 112
RgV_shift 4963
RgV_shimura 105
RgV_to_ser_full 4655
RgXV_embed 98
RgX_act_S 1281
RgX_act_gen 154
RgX_act_typ 2562
RgX_by_parity 14
RgX_embed 1645
RgX_embed1 910
RgX_embed2 532
RgX_embedall 322
RgX_isspherical 28
RgX_valrem_root 70
RgXn_negpow 375
Rg_approx 8092
Rg_embed1 84658
Rg_embed2 13328
Rg_embedall 95000
Rg_embedall_i 4907
SL2_div_D 8785
TA1 6385475
TA2 6385475
TA3 6385475
TA4 6385475
Tp 469
Tpmod 2408
Unelson 71932
VS 63742
Wcoshall 10304
WfromZ 74046
Wint 10304
Wint2 63742
Wparams 10304
ZM_mulS 1190
ZM_mulT 4424
ZM_mulTi 2352
ZX_roots 182
ZabM_pseudoinv_i 1092
_RgXQM_mul 378
abundant 2541
act_GL2 252
act_S 2310
actal 42
anextract 2618
anyembed 28
append_dihedral 18718
atkin_get_NQ 231
auxsum 33164921
badchar 7784
bdexpand 6139
bdexpandall 287
bern_init 1561
bestapprnf2 119
bestapprnfrel 1519
bhn_newtrace 32438
bhn_parse 82411
bhnmat_extend 9002
bhnmat_extend_nocache 6867
bnrchartwist2conrey 34489
c_Bd 7462
c_Ek 840
c_F2TH4 266
c_QF_i 56
c_QFsimple_i 49
c_bracket 42
c_const 140
c_cusptrace 21
c_deflate 8778
c_delta 476
c_deriv 175
c_derivE2 14
c_dihedral 5579
c_div 833
c_div_i 833
c_ell 77
c_etaquo 203
c_hecke 1050
c_linear 2975
c_linear_bhn 2198
c_mfEH 343
c_mfeisen 11256
c_mul 637
c_newtrace 1890
c_pow 112
c_shift 35
c_theta 1911
c_twist 161
cache_delete 9100
cache_get 448444663
cache_report 70
cache_reset 478
cache_set 492
ceilA1 7588
char2 6419
charLFwt1 2590
charLFwt1_Fl 1981
charLFwtk 4256
charLFwtk_Fl 2807
char_normalize_zv 118517
charistotallyeven 13846
charsmodN 616
checkCHI 9177
checkMF 3801
checkMF_i 18564
checkNK 133
checkNK2 9184
checkPv 28
check_M2Z 2877
check_SL2Z 1757
checkbij_i 7
checkemb_i 28
checkfs2_i 189
checkfs_i 721
checkmf2 43729
checkmf_i 18515
checkmfa 56
chicompat 2723
chicompatfix 651
chicompatlift 651
cmp_coset 33775
cmp_ord 371
cmp_small_priority 73332
col2cusp 119
colnewtrace 179130
compatlift 7
condC 1568
conreydenormalize 34489
const_mat 896
constcoredisc 49
constdiv 138
constfact 166
consttabdihedral 14
consttabh 146
corediscs_fact 5192825
coset_complete 11298
cusp2mat 518
cusp_AC 1064
cusp_canon 364
cxredga0N 175
cyc_normalize_zv 26810
dbg_cachenew 17136
deg1ser_shallow 49
desc 623
desc_dihedral 21
desc_hecke 35
desc_i 1540
desc_linear 98
desc_mfeisen 504
di_N 42042
dihan 13573
dihan_bnf 9331
dihan_bnr 37758
dim22 3696
dim_filter 28
dim_sum 287
discard_Ti 0
div_restrict 322077
divisorsNF 322
eiscnm 7644966
err_cyclo 14
err_space 7
eta3_ZXn 469
evalcusp 350
expandbd 5299
expandbd_Fl 6818
f00 4634
f00_i 5852
fg1g2n 593908
findbestsplit 1316
findd 217
findq 14
findqga 91
findqganew 49
fix_pol 234178
fmt_dim 3983
foo_stable 42
fs2_get_F 56
fs2_get_MF 56
fs2_get_W 56
fs2_get_al0 56
fs2_get_bitprec 0
fs2_get_cusps 56
fs2_get_den 21
fs2_init 21
fs_get_EF 56
fs_get_MF 1288
fs_get_bitprec 574
fs_get_cosets 1974
fs_get_expan 1694
fs_get_pols 1463
fs_get_vE 1134
fs_get_vES 777
fs_set_expan 14
gausssumcx 13608
get_DIH 12355
get_P 217
get_PSI 299775
get_Shimura 21
get_badj 7588
get_bnrconreyN 15862
get_gb 7805
get_mf_F 462
get_mfchar 4032
get_vDIH 2373
get_vP 21
getcache 14
getcols 1750
getcols_i 4263
getcolsgen 399
getcolswt2 245
getembed 889
getnlim2 2289
getw1w2 2289
gmfcharmodulus 1556982
gmfcharno 3983
gmfcharorder 3719233
grootsof1_CHI 742
gsubstvec_i 14
hash_eisengacx 7630
hclassno6_count 55
hclassno6u 2371949
hclassno6u_2 77
hclassno6u_i 156422153
hclassno6u_no_cache 86918
hecke_data 17528
hecke_i 2527
heckef2_data 84
heckenewtrace 88606
improve 5740
induce 307811
induceN 42364
init_cachenew 13125
initnewtrace 32655
initnewtrace_i 32550
inittrace 126791
inittrconj 32550
initwt1newtrace 21
initwt1trace 28
intAoo 861
intAoo0 63
intAoowithvanall 126
inveis_extraprec 70
is_cond 49364
lamCO 3360
lamsig 13905926
lfunfindchi 21
lfunmf 84
lfunquadneg_naive 28
lfuntag 1127
lfunthetaall 154
m1pk 8141
mat2cusp 105
matTp 56
matTpmod 301
matdeflate 385
merge_dims 7
mf1 42
mf1_cusptonew 252
mf1_pre 1834
mf1basis 11284
mf1chars 1729
mf1cuspdim 476
mf1cuspdim_i 7315
mf1cuspdimall 4144
mf1cuspdimsum 4123
mf1dimmod 595
mf1dims 105
mf1dimsum 2114
mf1init 3969
mf1intermat 224
mf1newdimall 56
mf1newdimsum 1050
mf1olddimall 28
mf1olddimsum 469
mf2basis 266
mf2dim_Nkchi 43463
mf2dimwt12 41363
mf2dimwt32 693
mf2gaexpansion 343
mf2init 98
mf2init_Nkchi 266
mfDelta 56
mfEH 266
mfEHcoef 77
mfEHmat 266
mfEMPTY 1022
mfEMPTYall 616
mfEk 392
mfTheta 798
mfZC_width 8806
mf_eisendec 987
mf_get_CHI 61817
mf_get_N 118692
mf_get_NK 18753
mf_get_field 24206
mf_get_gN 183792
mf_get_gk 138810
mf_get_k 71617
mf_get_r 441
mf_get_type 231392
mf_normalize 1470
mf_same_CHI 1092
mf_same_k 1134
mf_setfield 518
mfak_i 455
mfalchi2 5229
mfatkin 56
mfatkineigenquad 56
mfatkineigenvalues 49
mfatkininit 91
mfatkininit_i 210
mfatkinmatnewquad 105
mfbasis 350
mfbd 252
mfbd_E2 721
mfbd_i 35791
mfbdall 7343
mfbracket 28
mfcanfindp0 14
mfcharAL 105
mfcharGL 373667
mfcharchiliftprim 35
mfcharconductor 397222
mfcharconj 56
mfcharcxeval 9065
mfcharcxinit 13608
mfchardiv 5313
mfchardiv_i 5313
mfchareval 14203
mfcharevalord 3561152
mfchargalois 4872
mfcharinduce 13048
mfcharinit 32557
mfcharinv_i 595
mfcharistrivial 2632
mfcharmodulus 1556982
mfcharmul 1106
mfcharmul_i 301861
mfcharmulcxeval 5229
mfcharmuleval 10458
mfcharno 13664
mfcharorder 3681552
mfcharparity 68355
mfcharpol 562709
mfcharpow 147
mfchars 3255
mfchartoprimitive 75922
mfchartrivial 5768
mfcheapeisen 147
mfchiadjust 2821
mfchiembed 7
mfchilift 980
mfchisimpl 1596
mfclean 4970
mfclean2 840
mfcleanCHI 4018
mfcoef 301
mfcoefs 3850
mfcoefs_i 37821
mfcoefs_mf 2576
mfcoefsser 665
mfconductor 175
mfconreyminimize 12138
mfcosets 147
mfcuspcanon_width 945
mfcuspdim 3374
mfcuspdim_i 43281
mfcuspisregular 315
mfcusps 28
mfcusps_i 49
mfcusptrace_i 6385475
mfcusptracecache 7645125
mfcuspval 203
mfcuspwidth 161
mfderiv 182
mfderivE2 21
mfdescribe 966
mfdihedral 14
mfdihedralall 14
mfdihedralcommon 33698
mfdihedralcusp 3857
mfdihedralcuspdim 7105
mfdihedralnew 8820
mfdihedralnew_i 24969
mfdihedralnewdim 16149
mfdiheval 107611
mfdim 5719
mfdim0all 3010
mfdim_Nkchi 1393
mfdim_Nndkchi 44744
mfdiv 49
mfdiv_val 2163
mfeigenbasis 336
mfeigenembed 154
mfeigensearch 35
mfeisenstein 371
mfeisenstein2_0 7770
mfeisenstein2_0_Fl 4263
mfeisenstein2all 2604
mfeisenstein2pure 5040
mfeisenstein2pure_Fl 4263
mfeisenstein_i 371
mfeisensteinbasis 1414
mfeisensteinbasis_i 1386
mfeisensteindec 987
mfeisensteindim 231
mfeisensteingacx 5229
mfeisensteinspaceinit 574
mfeisensteinspaceinit_i 616
mfembed 100663
mfembed0 49
mfeval 161
mfeval_i 161
mffields 35
mffindeisen1 35
mffindrootof1 6741
mffrickeeigen 77
mffrickeeigen_i 98
mffromell 28
mffrometaquo 210
mffromlfun 21
mffromqf 77
mffulldim 833
mffvanish 7
mfgaexpansion 1750
mfgaexpansion_i 1050
mfgaexpansionall 140
mfgaexpansionatkin 70
mfgaloisprojrep 77
mfgaloistype 231
mfgaloistype0 224
mfgaloistype_i 182
mfgatogap 5229
mfgetembed 581
mfgetvan 161
mfhecke 105
mfhecke_i 24591
mfheckemat 77
mfheckemat_mfcoefs 350
mfheckemat_mfcoefs_p 35
mfheckemat_mfcoefs_p2 7
mfheckemat_p 343
mfinit 2380
mfinit_Nkchi 4977
mfinit_Nndkchi 2681
mfinit_i 3346
mfinitcusp 3192
mfinittonew 42
mfisCM 14
mfiscuspidal 224
mfisdihedral 224
mfisequal 196
mfisetaquo 49
mfisetaquo_i 49
mfisinkohnen 28
mfisinspace_i 238
mfisnotA5 105
mfisnotS4 105
mfistrivial 1316
mfkdims 2961
mfkdimsum 252
mfkohnenbasis 21
mfkohnenbasis_i 21
mfkohnenbijection 14
mfkohnenbijection_i 14
mfkohneneigenbasis 7
mflfuncreate 161
mflfuncreateall 133
mflinear 1036
mflinear_bhn 686
mflinear_i 476
mflinear_linear 2016
mflinear_strip 1806
mflineardiv_linear 2016
mflineardivtomat 630
mfmanin 42
mfmatembed 70
mfmatsermul 686
mfmatsermul_Fl 1141
mfmul 455
mfmultheta 448
mfnewchkzero 2594331
mfnewdim 15806
mfnewinit 15561
mfnewmathecke_p 889
mfnewtrace_i 2594331
mfnewtracecache 4495680
mfnewzerodata 32655
mfolddim 224
mfolddim_i 8344
mfparams 700
mfperiod_prelim 266
mfperiod_prelim_double 1085
mfperiodpol 35
mfperiodpolbasis 49
mfperiodpols_i 147
mfpetersson 119
mfpetersson2 21
mfpetersson_i 133
mfpeterssonnoncusp 7
mfpow 77
mfqk 2254
mfrhopol 361541
mfrhopol_eval 56620
mfrhopol_u_eval 3251068
mfrhopowsimp 168009103
mfs_checkmf 42
mfs_iscusp 35
mfsamefield 3906
mfsearch 28
mfshift 42
mfshimura 49
mfshimura_space_cusp 42
mfskcx 3150
mfslashexpansion 1064
mfspace 287
mfspace_i 287
mfspclean 1064
mfsplit 98
mfstabiter 28
mfstabitermod 252
mfsturm 798
mfsturmNgk 3248
mfsturmNk 21665
mfsturm_mf 4522
mfsturmmf 427
mfsymbol 154
mfsymbol_i 147
mfsymboleval 182
mfsymboleval_direct 98
mfsymbolevalpartial 63
mftaylor 14
mfthetaI 56
mfthetaancreate 924
mfthetaexpansion 343
mfthetamultiplier 343
mftobasis 994
mftobasisES 511
mftobasis_i 1372
mftocol 9065
mftocoset 7
mftocoset_i 8799
mftocoset_iD 8785
mftonew 210
mftonew_i 448
mftraceform 98
mftraceform_cusp 14
mftraceform_i 98
mftraceform_new 945
mftreatdihedral 784
mftrivial 84
mftwist 21
mfunram 119
mfval 49
mfvec_first_cusp 623
mfvecembed 1694
mfvectomat 2093
mintau 147
mkF2bd 1519
mkM 574
mkMinv 7672
mkNK 14994
mkS 21
mkbez 126791
mkeisen 5635
mkgNK 36932
mkgcd 126791
mklvchi 26810
mkmf 12285
mkmup 126791
mksqr 126791
moreorders 392
mubeta 6993
mubeta2 7645125
mutg1 161226169
mutglistall 15192160
mybezout 20916
mychareval 23327808
mycharexpo 419223
mychicgcd 402266903
mycore 70
mycoredisc2neg 176418420
mycoredisc2pos 14
mydivisorsu 68966612
myeulerphiu 109200
myfactoru 33625276
myh 10627729
myimag_i 182
mymoebiusu 65688
mynffactor 1491
mynumdivu 2968
mypsiu 393029
myradicalu 119
mysqrtu 56
mysumdivku 38311
myugcd 283117583
myusqrt 84
newd_params 41363
newd_params2 21
newt_params 1872945
newtrace_DATA 33572
newtrace_stripped 33572
nf2_get_conj 5768
nf_primpart 329
nfcontent 210
non_residues 2702
normal 98
normalizeapprox 2590
not_in_space 77
nu2 17521
nu3 10157
nuinf 38864
ok_bhn_linear 3976
paramconst 126
pari_close_mf 1820
parse_vecj 9086
pathmattovec 7
phipart 36862
pindices 1834
pol_red 427
polabstorel 518
polishomogeneous 140
reset_cachenew 33572
rootspowers 217
same_cyc 616
search_A5 0
search_abelian 182
search_from_split 889
search_levels 63
search_solvable 77
seenD 413
sertocol 2387
sertocol2 70
sertovecslice 833
shift_M 1050
sigchi 24192
sigchi2 593096
sigchi2_Fl 54992
sigchi2_dec 648088
simple_pole 49
sort_by_dim 1064
space_is_cusp 5971
split 224
split_i 1141
split_ii 1463
split_starting_space 1064
sqrtm1modN 595
sqrtm3modN 539
symbol_same_mf 28
symbol_type 147
tag 10199
tag0 56
tag2 36113
tag3 16072
tag4 0
taglinear 2765
taglinear_i 6727
tagparams 62566
toRgX0 2562
tobasis 994
tp2apply 70
tp2eapply 70
tracerel 253827
tracerel_i 80248
tracerel_z 6937
tracerelz 84735
trconj 203970
u_pporad 28
unact 14
unpack0 1043
unpack2 42
unpack23 308
update_Mj 1162
update_factor_cache 2169
val 189
valNC2 168
van_embedall 329
vanembed 420
vchip_FC 279391751
vchip_lift 410711
vchip_mod 6437432
vchip_polmod 1911620
vecGalois 1001
vecact_GL2 7
vecembed1 798
vecembed2 42
vecj_expand 4963
vecmfNK 3227
vecmflinear 1211
vecmflineardiv0 427
vecmflineardiv_linear 476
vecpermute_inplace 1330
vecpermute_partial 1351
vecpush 1204
wt1empty 16632
wt1mulcond 0
wt1newlevel 7
zero_at_cusp 161
zeta2CO 3696
znchareval_i 2507092
zncharsG 1169
znstar_get_expo 1232

Generated by: LCOV version 1.14