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.1 lcov report (development 28676-df828f1c94) Lines: 7532 7742 97.3 %
Date: 2023-08-26 07:54:43 Functions: 766 772 99.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Qab_tracerel 0
discard_Ti 0
fs2_get_bitprec 0
search_A5 0
tag4 0
wt1mulcond 0
Hfind 7
checkbij_i 7
compatlift 7
err_space 7
merge_dims 7
mfchiembed 7
mffvanish 7
mfheckemat_mfcoefs_p2 7
mfisequal 7
mfkohneneigenbasis 7
mfpeterssonnoncusp 7
mftocoset 7
pathmattovec 7
vecact_GL2 7
wt1newlevel 7
RgX_by_parity 14
c_derivE2 14
consttabdihedral 14
err_cyclo 14
findq 14
fs_set_expan 14
getcache 14
gsubstvec_i 14
mfcanfindp0 14
mfdihedral 14
mfdihedralall 14
mfisCM 14
mfkohnenbijection 14
mfkohnenbijection_i 14
mftaylor 14
mftraceform_cusp 14
mycoredisc2pos 14
unact 14
c_cusptrace 21
desc_dihedral 21
fs2_get_den 21
fs2_init 21
get_Shimura 21
get_vP 21
initwt1newtrace 21
lfunfindchi 21
mfderivE2 21
mffromlfun 21
mfkohnenbasis 21
mfkohnenbasis_i 21
mfpetersson2 21
mftwist 21
mkS 21
newd_params2 21
RgX_isspherical 28
anyembed 28
checkPv 28
checkemb_i 28
dim_filter 28
initwt1trace 28
lfunquadneg_naive 28
mf1olddimall 28
mfbracket 28
mfcusps 28
mffromell 28
mfisinkohnen 28
mfsearch 28
mfstabiter 28
symbol_same_mf 28
u_pporad 28
QabM_rank 35
c_shift 35
desc_hecke 35
mfcharchiliftprim 35
mfeigensearch 35
mffields 35
mffindeisen1 35
mfheckemat_mfcoefs_p 35
mfperiodpol 35
mfs_iscusp 35
mftonew 35
hclassno6_count 38
actal 42
c_bracket 42
foo_stable 42
mf1 42
mfbd 42
mfinittonew 42
mfmanin 42
mfs_checkmf 42
mfshift 42
mfshimura_space_cusp 42
unpack2 42
vecembed2 42
constcoredisc 46
Mindex_as_coef 49
c_QFsimple_i 49
deg1ser_shallow 49
findqganew 49
mfatkineigenvalues 49
mfcusps_i 49
mfdiv 49
mfembed0 49
mfisetaquo 49
mfisetaquo_i 49
mfperiodpolbasis 49
mfshimura 49
mfsturmmf 49
mfval 49
simple_pole 49
c_QF_i 56
checkmfa 56
fs2_get_F 56
fs2_get_MF 56
fs2_get_W 56
fs2_get_al0 56
fs2_get_cusps 56
fs_get_EF 56
hclassno6u_2 56
matTp 56
mf1newdimall 56
mfDelta 56
mfatkin 56
mfatkineigenquad 56
mfcharconj 56
mfthetaI 56
mysqrtu 56
tag0 56
intAoo0 63
mfsymbolevalpartial 63
search_levels 63
RgX_valrem_root 70
cache_report 70
inveis_extraprec 70
mfgaexpansionatkin 70
mfmatembed 70
mycore 70
sertocol2 70
tp2apply 70
tp2eapply 70
c_ell 77
mfEHcoef 77
mffrickeeigen 77
mffromqf 77
mfgaloisprojrep 77
mfheckemat 77
mfpow 77
not_in_space 77
search_solvable 77
heckef2_data 84
lfunmf 84
mftrivial 84
myusqrt 84
findqga 91
mfatkininit 91
RgV_heckef2 98
RgXV_embed 98
desc_linear 98
mf2init 98
mffrickeeigen_i 98
mfsplit 98
mfsymboleval_direct 98
mftraceform 98
mftraceform_i 98
normal 98
RgV_shimura 105
mat2cusp 105
mf1dims 105
mfatkinmatnewquad 105
mfcharAL 105
mfhecke 105
mfisnotA5 105
mfisnotS4 105
RgV_pows_RgXn 112
c_pow 112
RgV_approx 119
bestapprnf2 119
col2cusp 119
mfpetersson 119
mfunram 119
myradicalu 119
intAoowithvanall 126
paramconst 126
Haberland 133
NK_eisen2 133
checkNK 133
mflfuncreateall 133
mfpetersson_i 133
c_const 140
mfgaexpansionall 140
polishomogeneous 140
QabM_tracerel 147
c_deriv 147
mfcharpow 147
mfcheapeisen 147
mfcosets 147
mfperiodpols_i 147
mfsymbol_i 147
mintau 147
symbol_type 147
RgX_act_gen 154
lfunthetaall 154
mfderiv 154
mfeigenembed 154
mfsymbol 154
c_twist 161
mfcuspwidth 161
mfeval 161
mfeval_i 161
mfgetvan 161
mflfuncreate 161
zero_at_cusp 161
valNC2 168
cxredga0N 175
mfconductor 175
ZX_roots 182
mfgaloistype_i 182
mfsymboleval 182
myimag_i 182
search_abelian 182
constdiv 185
checkfs2_i 189
val 189
consttabh 191
AX_B 203
CX_D 203
c_etaquo 203
mfcuspval 203
mfatkininit_i 210
mffrometaquo 210
nfcontent 210
constfact 213
findd 217
get_P 217
rootspowers 217
mf1intermat 224
mfgaloistype0 224
mfiscuspidal 224
mfisdihedral 224
mfolddim 224
split 224
atkin_get_NQ 231
mfeisensteindim 231
mfgaloistype 231
c_F2TH4 238
mfEH 238
mfEHmat 238
mfisinspace_i 238
MF_get_r 245
getcolswt2 245
act_GL2 252
mf1_cusptonew 252
mfkdimsum 252
mfstabitermod 252
mf2basis 266
mf2init_Nkchi 266
mfperiod_prelim 266
mftonew_i 273
bdexpandall 287
dim_sum 287
mfspace 287
mfspace_i 287
matTpmod 301
mfcoef 301
mflinear_i 301
unpack23 308
c_mfEH 315
mfbasis 315
mfcuspisregular 315
RgX_embedall 322
divisorsNF 322
nf_primpart 329
van_embedall 329
mfeigenbasis 336
mftobasisES 336
RgC_embedall 343
mf2gaexpansion 343
mfheckemat_p 343
mfthetaexpansion 343
mfthetamultiplier 343
evalcusp 350
mfheckemat_mfcoefs 350
cusp_canon 364
mfEk 364
cmp_ord 371
mfeisenstein 371
mfeisenstein_i 371
RgXn_negpow 375
_RgXQM_mul 378
matdeflate 385
moreorders 392
RgV_div_RgXn 399
getcolsgen 399
MF_set_space 406
mf_get_r 413
seenD 413
vanembed 420
pol_red 427
vecmflineardiv0 427
mfmultheta 448
mfak_i 455
mfmul 455
get_mf_F 462
Tp 469
eta3_ZXn 469
mf1olddimsum 469
c_delta 476
mf1cuspdim 476
vecmflineardiv_linear 476
MFcusp_get_vMjd 490
desc_mfeisen 504
mflinear_bhn 511
cusp2mat 518
mf_setfield 518
polabstorel 518
RgX_embed2 532
sqrtm3modN 539
const_mat 546
QabM_Minv 574
fs_get_bitprec 574
mfeisensteinspaceinit 574
mkM 574
MF_get_fields 581
mfgetembed 581
QabM_to_Flm 595
mf1dimmod 595
mfcharinv_i 595
sqrtm1modN 595
cache_reset 614
charsmodN 616
mfEMPTYall 616
mfeisensteinspaceinit_i 616
same_cyc 616
desc 623
mfsturm 623
mfvec_first_cusp 623
cache_set 628
mflineardivtomat 630
tobasis 630
c_mul 637
chicompatfix 651
chicompatlift 651
mfcoefsser 665
mflinear 672
mfmatsermul 686
mf2dimwt32 693
mfparams 700
checkfs_i 721
mfbd_E2 721
grootsof1_CHI 742
MF_get_newforms 770
mfTheta 770
fs_get_vES 777
mftreatdihedral 784
vecembed1 798
c_Ek 812
mftobasis 819
c_div 833
c_div_i 833
mffulldim 833
sertovecslice 833
mfclean2 840
intAoo 861
getembed 889
mfnewmathecke_p 889
search_from_split 889
RgX_embed1 910
mf_same_CHI 917
mfthetaancreate 924
mfcuspcanon_width 945
mftraceform_new 945
mf_same_k 959
mfdescribe 966
mfchilift 980
mf_eisendec 987
mfeisensteindec 987
c_hecke 994
vecGalois 1001
QabM_pseudoinv 1015
mfEMPTY 1022
unpack0 1043
mf1newdimsum 1050
mfgaexpansion_i 1050
shift_M 1050
cusp_AC 1064
mfslashexpansion 1064
mfspclean 1064
sort_by_dim 1064
split_starting_space 1064
mfperiod_prelim_double 1085
ZabM_pseudoinv_i 1092
mfcharmul 1106
GL2toSL2 1120
lfuntag 1127
fs_get_vE 1134
mfistrivial 1141
mfmatsermul_Fl 1141
split_i 1141
update_Mj 1162
zncharsG 1169
vecpermute_partial 1176
ZM_mulS 1190
mftobasis_i 1197
vecpush 1204
QabM_init 1211
vecmflinear 1211
znstar_get_expo 1232
mflinear_strip 1267
Minv_RgM_mul 1274
QabM_pseudoinv_i 1274
RgX_act_S 1281
fs_get_MF 1288
findbestsplit 1316
MF_set_new 1330
vecpermute_inplace 1330
mfeisensteinbasis_i 1386
mfdim_Nkchi 1393
mfeisensteinbasis 1414
fs_get_pols 1463
split_ii 1463
mf_normalize 1470
QabX_to_Flx 1484
mynffactor 1491
bestapprnfrel 1519
mkF2bd 1519
desc_i 1540
QabM_ker 1561
bern_init 1561
condC 1568
c_newtrace 1582
mfchisimpl 1596
RgX_embed 1645
MF_get_basis 1659
fs_get_expan 1694
mfvecembed 1694
mf1chars 1729
getcols 1750
mfgaexpansion 1750
check_SL2Z 1757
pari_close_mf 1799
c_linear_bhn 1806
mf1_pre 1834
pindices 1834
c_theta 1855
fs_get_cosets 1974
charLFwt1_Fl 1981
mflinear_linear 2016
mflineardiv_linear 2016
RgV_normalize 2065
mfvectomat 2093
mf1dimsum 2114
mfdiv_val 2163
mfqk 2254
getnlim2 2289
getw1w2 2289
act_S 2310
mfinit 2345
ZM_mulTi 2352
get_vDIH 2373
sertocol 2387
Tpmod 2408
RgM_Minv_mul 2436
hecke_i 2471
mfsturmNgk 2492
abundant 2506
RgX_act_typ 2562
toRgX0 2562
mfcoefs_mf 2576
taglinear 2576
charLFwt1 2590
normalizeapprox 2590
mfeisenstein2all 2604
anextract 2618
mfcharistrivial 2632
mfinit_Nndkchi 2646
non_residues 2702
chicompat 2723
charLFwtk_Fl 2807
mfchiadjust 2821
check_M2Z 2877
mynumdivu 2933
update_factor_cache 2940
c_linear 2961
mfkdims 2961
mfdim0all 3010
mfskcx 3150
mfinitcusp 3157
vecmfNK 3227
mfchars 3255
mfinit_i 3311
RgV_mul_RgXn 3339
mfcuspdim 3339
lamCO 3360
checkMF 3451
dim22 3696
zeta2CO 3696
ok_bhn_linear 3787
mfcoefs 3794
mfdihedralcusp 3857
mfsamefield 3878
mf1init 3969
fmt_dim 3983
gmfcharno 3983
mfcleanCHI 3983
get_mfchar 4032
mf1cuspdimsum 4123
mf1cuspdimall 4144
MF_get_E 4193
charLFwtk 4256
getcols_i 4263
mfeisenstein2_0_Fl 4263
mfeisenstein2pure_Fl 4263
mfsturm_mf 4347
ZM_mulT 4424
MF_get_Minv 4571
f00 4634
RgV_to_ser_full 4655
mfchargalois 4872
Rg_embedall_i 4907
mfclean 4935
mfinit_Nkchi 4935
RgV_shift 4963
vecj_expand 4963
mfeisenstein2pure 5040
mfalchi2 5229
mfcharmulcxeval 5229
mfeisensteingacx 5229
mfgatogap 5229
MF_get_dim 5292
expandbd 5299
mfchardiv 5313
mfchardiv_i 5313
c_dihedral 5579
mfchartrivial 5614
mkeisen 5635
mfdim 5719
improve 5740
space_is_cusp 5754
nf2_get_conj 5768
f00_i 5852
bdexpand 6083
taglinear_i 6363
char2 6419
bhnmat_extend_nocache 6475
MF_get_k 6699
mffindrootof1 6741
MF_get_M 6762
expandbd_Fl 6818
mubeta 6916
tracerel_z 6937
MFnew_get_vj 7084
Minv_RgC_mul 7084
mfdihedralcuspdim 7105
c_Bd 7196
mf1cuspdim_i 7315
mfbdall 7343
ceilA1 7490
get_badj 7490
hash_eisengacx 7630
mkMinv 7637
badchar 7742
mfeisenstein2_0 7770
get_gb 7805
MF_get_CHI 7875
Rg_approx 8092
m1pk 8099
mfolddim_i 8246
bhnmat_extend 8575
c_deflate 8778
SL2_div_D 8785
mftocoset_iD 8785
mftocoset_i 8799
mfZC_width 8806
mfdihedralnew 8820
cache_delete 8995
mfcharcxeval 9065
mftocol 9065
parse_vecj 9086
checkCHI 9135
checkNK2 9142
dihan_bnf 9331
MF_get_Mindex 10010
tag 10017
nu3 10108
QabM_indexrank 10290
Wcoshall 10304
Wint 10304
Wparams 10304
mfcharmuleval 10458
c_mfeisen 11228
mf1basis 11284
coset_complete 11298
mfconreyminimize 12138
mkmf 12166
init_cachenew 12341
get_DIH 12355
mfcharinduce 13048
Rg_embed2 13328
MF_get_gk 13398
dihan 13573
gausssumcx 13608
mfcharcxinit 13608
mfcharno 13664
MF_get_space 13790
charistotallyeven 13846
mfchareval 13979
CHIvec_CHI 14826
mkNK 14868
mfnewinit 15337
mfnewdim 15582
tag3 15708
get_bnrconreyN 15862
QabV_tracerel 16086
mfdihedralnewdim 16149
dbg_cachenew 16583
wt1empty 16632
checkmf_i 17066
nu2 17304
hecke_data 17507
checkMF_i 17605
MF_get_N 18501
mf_get_NK 18557
append_dihedral 18718
MF_get_gN 19390
MF_get_S 20356
mybezout 20916
mfsturmNk 21490
mf_get_field 23961
sigchi 24192
mfhecke_i 24486
mfdihedralnew_i 24969
cyc_normalize_zv 26810
mklvchi 26810
Galois 30247
initnewtrace_i 31241
inittrconj 31241
mfcharinit 31248
initnewtrace 31346
mfnewzerodata 31346
bhn_newtrace 31857
newtrace_DATA 32263
newtrace_stripped 32263
reset_cachenew 32263
mfdihedralcommon 33698
cmp_coset 33775
Qab_trace_init 34006
bnrchartwist2conrey 34489
conreydenormalize 34489
CHIvec_ord 34685
mfbd_i 35399
tag2 35875
mkgNK 36344
mfcoefs_i 36673
phipart 36862
dihan_bnr 37758
mysumdivku 37807
QabC_to_Flc 38164
nuinf 38283
newd_params 39956
mf2dimwt12 41363
di_N 42042
induceN 42364
A4 42623
mfcuspdim_i 42700
A21 43057
A22 43057
mf2dim_Nkchi 43463
A3 43505
checkmf2 43729
mfdim_Nndkchi 44744
is_cond 49364
CHIvec_parity 53886
sigchi2_Fl 54992
mfrhopol_eval 56610
mf_get_CHI 61033
tagparams 61782
VS 63742
Wint2 63742
mymoebiusu 65688
mfcharparity 68257
mf_get_k 70735
Unelson 71932
cmp_small_priority 73332
WfromZ 74046
mfchartoprimitive 74256
tracerel_i 80248
RgC_Bd_expand 81823
bhn_parse 81823
Miyake 84028
Rg_embed1 84658
tracerelz 84735
hclassno6u_no_cache 86923
heckenewtrace 87969
Rg_embedall 95000
mfembed 100663
myeulerphiu 106407
mfdiheval 107611
mf_get_N 116620
char_normalize_zv 118517
inittrace 120827
mkbez 120827
mkgcd 120827
mkmup 120827
mksqr 120827
mf_get_gk 136710
colnewtrace 178073
mf_get_gN 181475
trconj 199322
Qab_zeta 200242
Qab_Czeta_Fl 220514
mf_get_type 228158
fix_pol 234178
tracerel 253827
get_PSI 299775
mfcharmul_i 301861
induce 307783
div_restrict 318955
A1 351330
mfrhopol 360603
mfcharGL 373513
mypsiu 384811
mfcharconductor 396424
vchip_lift 407477
CHIvec_expo 419223
mycharexpo 419223
mfcharpol 562709
sigchi2 593096
fg1g2n 593908
sigchi2_dec 648088
gmfcharmodulus 1547861
mfcharmodulus 1547861
newt_params 1863439
vchip_polmod 1902114
Qab_Czeta 2188543
hclassno6u 2371949
znchareval_i 2507092
mfnewchkzero 2582060
mfnewtrace_i 2582060
mfrhopol_u_eval 3248424
mfcharevalord 3561152
mfcharorder 3681391
gmfcharorder 3718848
corediscs_fact 4122384
mfnewtracecache 4481295
TA1 6349754
TA2 6349754
TA3 6349754
TA4 6349754
mfcusptrace_i 6349754
vchip_mod 6408550
mfcusptracecache 7604217
mubeta2 7604217
eiscnm 7644966
Qab_to_Fl 8534960
myh 10619294
mutglistall 15168332
lamsig 19940839
mychareval 23327808
CHIvec_val 23337461
CHIvec_N 23977856
auxsum 33106520
myfactoru 33536868
mydivisorsu 68808468
hclassno6u_i 156323215
mutg1 161118537
mfrhopowsimp 167894548
mycoredisc2neg 176286939
vchip_FC 279169774
myugcd 282878841
mychicgcd 401949880
cache_get 447959297

Generated by: LCOV version 1.14