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.12.0 lcov report (development 23171-a5c0ed393) Lines: 7118 7278 97.8 %
Date: 2018-10-20 05:38:07 Functions: 734 736 99.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
fs2_get_bitprec 0
wt1mulcond 0
Hfind 7
c_twist 7
checkbij_i 7
consttabdihedral 7
err_space 7
lfunfindchi 7
merge_dims 7
mfchiembed 7
mfdihedralall 7
mffromlfun 7
mffvanish 7
mfheckemat_mfcoefs_p2 7
mfisequal 7
mfisnotA5 7
mfisnotS4 7
mfkohneneigenbasis 7
mfmatembed 7
mfpeterssonnoncusp 7
mftocoset 7
mkS 7
nextP 7
pathmattovec 7
wt1newlevel 7
RgX_by_parity 14
RgX_isspherical 14
c_derivE2 14
dim_filter 14
findq 14
fs_set_expan 14
getcache 14
mfcanfindp0 14
mfisCM 14
mfisinkohnen 14
mfkohnenbijection 14
mfkohnenbijection_i 14
mfsearch 14
mftaylor 14
mftraceform_cusp 14
mftwist 14
mycoredisc2pos 14
unact 14
c_bracket 21
c_cusptrace 21
c_deriv 21
checkmfa 21
desc_dihedral 21
fs2_get_den 21
fs2_init 21
get_vP 21
initwt1newtrace 21
mfatkin 21
mfbracket 21
mfderivE2 21
mffindeisen1 21
mffromell 21
mfgaloistype_i 21
mfindex 21
mfkohnenbasis 21
mfkohnenbasis_i 21
mfpetersson2 21
mfunram 21
newd_params2 21
radical_u 21
anyembed 28
c_QFsimple_i 28
c_shimura 28
checkPv 28
checkemb_i 28
deg1ser_shallow 28
initwt1trace 28
lfunquadneg 28
mfcharconj 28
mfcusps 28
mfderiv 28
mfeigensearch 28
mfinittonew 28
mfwt1olddimall 28
simple_pole 28
symbol_same_mf 28
u_pporad 28
c_QF_i 35
c_shift 35
desc_hecke 35
findqganew 35
mfbd 35
mffields 35
mfheckemat_mfcoefs_p 35
mfperiodpol 35
mfs_iscusp 35
mfshimura 35
mfshimura_space_cusp 35
mftonew 35
actal 42
hclassno6u_count 42
lfunmf 42
mf1 42
mfdiv 42
mffromqf 42
mfmanin 42
mfs_checkmf 42
mfshift 42
mfval 42
mysqrtu 42
search_levels 42
unpack2 42
vecembed2 42
Mindex_as_coef 49
mfDelta 49
mfatkineigenvalues 49
mfcusps_i 49
mfembed0 49
mfgaloistype0 49
mfisdihedral 49
mfperiodpolbasis 49
mfpow 49
tag0 49
usumpow 49
RgV_approx 56
bestapprnf2 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
intAoo0 56
mfatkineigenquad 56
mfsymbolevalpartial 56
mfwt1newdimall 56
RgX_valrem_root 63
c_F2TH4 63
c_ell 63
constcoredisc 63
constdiv 63
mfEH 63
mfEHmat 63
mfgaloistype 63
cache_report 70
constfact 70
mf2init 70
mfcharAL 70
mfcharchiliftprim 70
mfcoef 70
mffrickeeigen 70
mfgaexpansionatkin 70
mftrivial 70
myusqrt 70
not_in_space 70
sertocol2 70
tp2apply 70
tp2eapply 70
RgV_pows_RgXn 77
c_pow 77
mfEHcoef 77
mfatkininit 77
mffrickeeigen_i 77
mfheckemat 77
mfsplit 77
NK_eisen2 84
heckef2_data 84
findqga 91
mflfuncreateall 91
mftraceform 91
mftraceform_i 91
mfwt1_cusptonew 91
RgV_heckef2 98
RgV_shimura 98
RgXV_embed 98
desc_linear 98
mat2cusp 98
mfatkinmatnewquad 98
mfheckemat_p 98
mfsymboleval_direct 98
normal 98
polishomogeneous 98
valNC2 98
mfcharpow 105
mfhecke 105
mfheckemat_mfcoefs 105
mflfuncreate 105
mfwt1dims 105
col2cusp 112
mfpetersson 112
mfstabiter 112
mfstabitermodp 112
paramconst 112
Tpmat 119
dim_sum 119
intAoowithvanall 119
mfcharinv_i 119
mfwt1dimmodp 119
Haberland 126
checkNK 126
consttabh 126
mfpetersson_i 126
c_etaquo 133
mfgaexpansionall 133
c_const 140
c_mfEH 140
mfcheapeisen 140
mfcosets 140
mffrometaquo 140
mfperiodpols_i 140
mfsymbol_i 140
mintau 140
symbol_type 140
MF_get_r 147
lfunthetaall 147
matdeflate 147
mfeigenembed 147
mfsymbol 147
nfcontent 147
RgX_act_gen 154
mfeigenbasis 154
mfeval 154
mfeval_i 154
mfgetvan 154
cxredga0N 161
mfcuspwidth 161
mfsymboleval 161
zero_at_cusp 161
ZX_roots 168
mfatkininit_i 168
getcolswt2 175
mfconductor 175
myimag_i 175
checkfs2_i 182
val 182
atkin_get_NQ 189
mfEk 189
mfisinspace_i 189
mfcuspval 196
mfiscuspidal 196
AX_B 203
CX_D 203
act_GL2 203
get_P 203
rootspowers 203
mf2basis 210
mf2init_Nkchi 210
mfak_i 210
mfintereis 210
mycore 210
findd 217
mfintereismodp 217
c_div 224
c_div_i 224
nf_primpart 224
sertovecslice 224
QabM_to_Flm 231
mfeisensteindim 231
mf2gaexpansion 238
mfthetaexpansion 238
mfthetamultiplier 238
MF_set_space 245
mfwtkdimsum 252
RgV_div_RgXn 259
mfeisenstein 259
mfeisenstein_i 259
mfperiod_prelim 259
vecmflineardiv_linear 259
bdexpandall 266
mf_get_r 266
mffindrootof1 266
pol_red 266
vecmflineardiv0 266
mftonew_i 280
mfspace 287
mfspace_i 287
split 287
RgX_embedall 294
cmp_ord 294
get_sh 294
getcolsgen 301
mflinear_i 301
mfwt1cuspdim 301
van_embedall 301
mf_setfield 308
mfbasis 308
unpack23 308
cache_reset 315
mfcuspisregular 315
cache_set 322
mfolddim 322
RgC_embedall 329
mftobasisES 329
mfvec_first_cusp 329
QabX_to_Flx 336
hclassno6u_2 336
mflineardivtomat 336
mfmul 336
mfmultheta 336
evalcusp 343
cusp_canon 357
MF_get_fields 392
anextract 406
vanembed 406
seenD 413
get_mf_F 420
c_hecke 434
QabM_Minv 441
mfeisensteinspaceinit 441
mfmatsermul_Fl 441
mkM 441
eta3_ZXn 455
c_delta 462
mflinear_bhn 462
charsmodN 469
mfeisensteinspaceinit_i 469
mfwt1olddimsum 469
MFcusp_get_vMjd 476
tobasis 476
desc_mfeisen 504
mfTheta 504
mflinear 504
sqrtm3modN 504
cusp2mat 511
c_mul 518
mfgetembed 518
polabstorel 518
RgX_embed2 532
mfsturm 532
zncharsG 532
fs_get_bitprec 539
const_mat 560
MF_get_newforms 567
sqrtm1modN 567
vecembed1 567
QabM_init 588
vecGalois 609
mfEMPTYall 616
mfbd_E2 616
desc 623
c_Ek 658
grootsof1_CHI 672
checkfs_i 679
mffulldim 686
mf2dimwt32 693
hecke_i 700
mfparams 700
ZabM_pseudoinv_i 721
fs_get_vES 728
mfeisensteinbasis_i 728
c_newtrace 749
mfeisensteinbasis 756
mfclean2 805
mftobasis 805
mfcuspcanon_width 812
getembed 819
mfcoefsser 819
mf_eisendec 826
mfeisensteindec 826
intAoo 833
mfmatsermul 833
update_Mj 833
mfthetaancreate 840
mfnewmathecke_p 847
mf_same_CHI 854
mfspclean 861
sort_by_dim 861
split_starting_space 861
RgX_embed1 882
mfslashexpansion 882
search_from_split 882
mfgaexpansion_i 889
shift_M 889
mf_same_k 896
mftraceform_new 896
vecpush 917
GL2toSL2 931
mfEMPTY 931
mkF2bd 931
znstar_get_expo 938
findbestsplit 952
lfuntag 952
mynffactor 959
mfdescribe 966
mflinear_linear 980
mflineardiv_linear 980
Minv_RgM_mul 987
ZM_mulS 994
vecmflinear 994
c_linear_bhn 1008
cusp_AC 1015
mfcharmul 1022
mygmodulo 1022
unpack0 1043
vecpermute_partial 1043
mfperiod_prelim_double 1050
mftobasis_i 1050
mfwt1newdimsum 1050
fs_get_vE 1057
mfvectomat 1064
mfchilift 1071
QabM_pseudoinv 1078
mfistrivial 1078
mflinear_strip 1078
MF_get_basis 1099
vecpermute_inplace 1106
MF_set_new 1127
split_i 1190
mf_normalize 1197
fs_get_MF 1204
mfeisenstein2all 1218
split_ii 1253
getcols 1267
RgX_act_S 1281
sertocol 1302
charLFwt1_Fl 1323
QabM_ker 1337
fs_get_pols 1372
charLFwtk 1386
mfdim_Nkchi 1386
non_residues 1400
mfvecembed 1407
c_theta 1428
taglinear 1442
mfgaexpansion 1463
check_SL2Z 1470
bestapprnfrel 1519
desc_i 1540
pari_close_mf 1542
RgV_normalize 1561
condC 1568
fs_get_expan 1582
mfchisimpl 1582
RgX_embed 1596
charLFwt1 1624
mfwt1chars 1708
mfdiv_val 1722
mfwt1_pre 1722
mfqk 1729
fs_get_cosets 1848
update_factor_cache 1885
getnlim2 1911
getw1w2 1911
mfsturmNgk 1925
act_S 1932
ZM_mulTi 1974
vecmfNK 1974
charLFwtk_Fl 1988
mfcoefs_mf 1995
RgM_Minv_mul 2002
RgV_to_ser_full 2058
mfwt1dimsum 2114
RgX_act_typ 2135
mfinit 2142
normalizeapprox 2149
toRgX0 2177
mfchiadjust 2198
MF_get_Minv 2261
mftreatdihedral 2282
abundant 2317
c_linear 2387
check_M2Z 2401
mfinit_Nndkchi 2429
ok_bhn_linear 2436
mfskcx 2513
mynumdivu 2709
mfinitcusp 2884
RgV_mul_RgXn 2954
checkMF 2961
mfwtkdims 2961
mfsamefield 3003
mfdim0all 3010
mfsturm_mf 3024
mfinit_i 3094
mfchars 3255
mfcoefs 3255
getcols_i 3290
mfeisenstein2_0_Fl 3290
mfeisenstein2pure_Fl 3290
lamCO 3360
mfdihedralcusp 3381
mfcleanCHI 3409
MF_get_E 3465
mfwt1init 3465
c_dihedral 3591
ZM_mulT 3682
dim22 3696
zeta2CO 3696
c_Bd 3780
get_mfchar 3850
f00 3857
mfchartrivial 3927
fmt_dim 3983
gmfcharno 3983
mftocol 3990
QabV_tracerel 4081
taglinear_i 4102
mfwt1cuspdimsum 4123
mfwt1cuspdimall 4144
mfclean 4200
mfchardiv 4235
mfchardiv_i 4235
MF_get_dim 4291
expandbd 4319
mfeisenstein2pure 4319
RgV_shift 4403
vecj_expand 4403
mfalchi2 4431
mfcharmulcxeval 4431
mfeisensteingacx 4431
mfgatogap 4431
mfinit_Nkchi 4508
f00_i 4634
mkeisen 4676
bdexpand 4788
mfchargalois 4851
Rg_embedall_i 4907
bhnmat_extend_nocache 5145
space_is_cusp 5201
expandbd_Fl 5222
char2 5257
Minv_RgC_mul 5348
mfbdall 5446
mfchareval_i 5446
MF_get_k 5621
mfeisenstein2_0 5621
mfdim 5719
c_mfeisen 5733
improve 5740
MF_get_M 5747
c_deflate 5775
dihan_bnf 6097
mubeta 6118
cache_delete 6168
MFnew_get_vj 6461
mkMinv 6587
badchar 6650
MF_get_CHI 6769
hash_eisengacx 6776
get_badj 6846
m1pk 6895
mfdihedralcuspdim 7014
bhnmat_extend 7126
mfwt1cuspdim_i 7140
MF_get_Mindex 7182
ceilA1 7231
Rg_approx 7357
mfolddim_i 7378
SL2_div_D 7427
mfZC_width 7427
mftocoset_iD 7427
mftocoset_i 7441
mfdihedralnew 7665
mfcharcxeval 7686
parse_vecj 7798
mfcharistrivial 8274
tag 8638
mfcharmuleval 8862
checkCHI 8932
checkNK2 8939
nu3 9240
append_dihedral 9289
QabM_indexrank 9338
coset_complete 9562
QabC_to_Flc 9807
init_cachenew 9849
Wcomputecoshall 10304
Wcomputeparams 10304
Wint 10304
dihan 10465
mfwt1basis 10605
mkmf 11025
mfconreyminimize 11151
gausssumcx 11375
mfcharcxinit 11375
MF_get_gk 11403
MF_get_space 11543
CHIvec_CHI 11606
tag3 11613
mkNK 12278
mfcharno 12453
Rg_embed2 13314
cyc_normalize_zv 13391
mklvchi 13391
bhn_newtrace 13636
charistotallyeven 13846
mfnewinit 14147
hecke_data 14322
mfnewdim 14385
dbg_cachenew 14581
checkmf_i 14637
mf_get_NK 15617
mfdihedralnewdim 15764
MF_get_N 15918
wt1empty 15932
nu2 16065
mfcharinduce 16212
checkMF_i 16296
mysumdivku 16464
MF_get_gN 16611
mfdihedralcommon 16835
bnrchartwist2conrey 17206
conreydenormalize 17206
MF_get_S 17318
mf_get_field 17346
mybezout 17724
Qab_trace_init 17983
dihan_bnr 20391
mfhecke_i 20902
di_N 21021
mfcoefs_i 21441
sigchi 22001
mfdihedralnew_i 23429
initnewtrace_i 24934
inittrconj 24934
mfcharinit 24941
initnewtrace 24969
mfnewzerodata 24969
Galois 25599
newtrace_DATA 25830
newtrace_stripped 25830
reset_cachenew 25830
mfbd_i 26810
cmp_coset 27069
mkgNK 27426
tag2 27559
mfcharorder_canon 27650
mfsturmNk 28868
mf_get_CHI 29288
CHIvec_ord 32487
newd_params 32781
nuinf 35672
CHIvec_parity 37338
mfcuspdim 39228
A4 39277
A21 39613
A22 39613
A3 40012
mf2dimwt12 41363
Miyake 41769
induceN 42441
phipart 42651
mf2dim_Nkchi 43463
checkmf2 43673
mfdim_Nndkchi 44744
mf_get_k 46123
sigchi2_Fl 47957
tagparams 47971
tracerel_i 48034
RgC_Bd_expand 52430
bhn_parse 52430
char_normalize_zv 58975
heckenewtrace 62433
cmp_small_priority 62657
mfchartoprimitive 63518
VS 63742
Whalfint 63742
mfcharparity 65366
mf_get_N 66976
Unelsonhalf 71932
WfromZ 74046
Rg_embed1 74235
mfdiheval 77049
tracerelz 77385
mymoebiusu 77476
mf_get_gk 82012
Rg_embedall 90446
mf_get_gN 94640
mfembed 95927
inittrace 98875
mkbez 98875
mkgcd 98875
mkmup 98875
mksqr 98875
myeulerphiu 106106
ceildiv 106183
colnewtrace 109704
cmp_small 112483
mf_get_type 128933
sigchi2 151032
fix_pol 153692
hclassno6u 155745
mygmodulo_Fl 171437
mfcharpol 183561
sigchi2_dec 198989
trconj 223237
A1 228536
mypsiu 267127
div_restrict 289548
get_PSI 299775
mfcharmul_i 301875
induce 306621
CHIvec_expo 333494
mycharexpo 333494
vchip_lift 336070
mfrhopol 348761
mfcharGL 368900
mfcharconductor 391314
ord_canon 448378
znchareval_i 450548
fg1g2n 461986
Qab_to_Fl 480361
gmfcharmodulus 592613
mfcharmodulus 592613
mygmodulo_lift 612759
mfcharevalord 781998
mfcharorder 883344
gmfcharorder 913808
newt_params 954807
vchip_polmod 995071
mfnewchkzero 1300754
mfnewtrace_i 1300754
mfnewtracecache 2239461
ZXrecip_u_eval 2976470
TA1 3111129
TA2 3111129
TA3 3111129
TA4 3111129
mfcusptrace_i 3111129
vchip_mod 3262217
mfcusptracecache 4146072
mubeta2 4146072
myh 4809931
eiscnm 5903170
corediscs_fact 7553259
lamsig 9517628
mutglistall 9703015
auxsum 12286022
myfactoru 15452143
mychareval 19857817
CHIvec_val 19870921
CHIvec_N 20373346
hclassno6u_i 36655500
mydivisorsu 37915262
mutg1 38757138
mfrhopowsimp 41985321
mycoredisc2neg 48460503
vchip_FC 79741795
myugcd 94682630
mychicgcd 128120272
cache_get 143472933

Generated by: LCOV version 1.13