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 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.10.0 lcov report (development 21342-bb34613) Lines: 6264 6425 97.5 %
Date: 2017-11-18 06:21:14 Functions: 644 646 99.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Minv_embed 0
RgM_embed 0
Hfind 7
bestapprnf2 7
c_twist 7
consttabdihedral 7
err_space 7
findqganew 7
lfunfindchi 7
mfcanfindp0 7
mfdihedralall 7
mffindeisen1 7
mffromlfun 7
mfisequal 7
mfisnotA5 7
mfisnotS4 7
mfsearch 7
mftaylor 7
mftocoset 7
mfunram 7
polisspherical 7
RgC_embed2 14
RgX_by_parity 14
c_bracket 14
c_derivE2 14
c_shimura 14
findq 14
getcache 14
initwt1newtrace 14
mfbracket 14
mfconductor 14
mfcusps 14
mfisCM 14
mftraceform_cusp 14
mftwist 14
mfunramneg 14
mycoredisc2pos 14
mysqrtu 14
newd_params2 14
c_QFsimple_i 21
c_cusptrace 21
c_deriv 21
checkmfa 21
desc_dihedral 21
initwt1trace 21
mf1 21
mf2init 21
mfatkin 21
mfderivE2 21
mffromell 21
mfgaloistype_i 21
mfshimura 21
radical_u 21
c_QF_i 28
deg1ser_shallow 28
lfunquadneg 28
mfatkineigenquad 28
mfbd 28
mfcharconj 28
mfderiv 28
mfeigensearch 28
mffromqf 28
mfperiodpol 28
mftonew 28
mfwt1olddimall 28
simple_pole 28
u_pporad 28
RgM_getnf 35
c_shift 35
desc_hecke 35
fs_get_EF 35
mfdiv 35
mffields 35
mfheckematwt1 35
mfmanin 35
mfperiodpolbasis 35
mfval 35
sertocol2 35
c_etaquo 42
hclassno6u_count 42
lfunmf 42
lfunmf_i 42
mf2gaexpansion 42
mfatkineigenvalues 42
mffrickeeigen_i 42
mfgaloistype0 42
mfisdihedral 42
mfs_checkmf 42
mfshift 42
mfsymboleval 42
mfthetaexpansion 42
mfthetamultiplier 42
polishomogeneous 42
unpack2 42
NK_eisen2 49
RgV_div_RgXn 49
c_ell 49
constdiv 49
constfact 49
mfDelta 49
mfgaloistype 49
mfpow 49
tag0 49
Mindex_as_coef 56
constcoredisc 56
mftrivial 56
mfwt1newdimall 56
usumpow 56
NK_eta 63
RgX_act_gen 63
RgX_valrem_root 63
c_F2TH4 63
mfEH 63
mfEHmat 63
mfcharpow 63
mffrometaquo 63
polembedall 63
RgV_pows_RgXn 70
c_pow 70
cache_report 70
mf_set_space 70
mfcharAL 70
mfheckemat 70
mfwt1_cusptonew 70
myusqrt 70
tp2apply 70
tp2eapply 70
c_const 77
matdeflate 77
mfEHcoef 77
mfatkininit 77
mfs_iscusp 77
mfsymbol 77
paramconst 77
findqga 84
heckef2_data 84
mfcoef 84
mfmultheta 84
mftraceform 84
mftraceform_i 84
expsum 91
mflfuncreateall 91
mfperiodpols_i 91
mfsymbol_i 91
mftobasisES 91
c_mfheckef2 98
desc_linear 98
getcolswt2 98
mfcosets 98
mfhecke 98
mfstabiter 98
mfstabitermodp 98
mfwt1dims 98
normal 98
vecpolembed 98
Tpmat 105
consttabh 105
mfcharinv_i 105
mflfuncreate 105
mfwt1dimmodp 105
MFcusp_get_vMjd 112
mfpetersson 112
mftonew_i 112
checkNK 119
cxredga0N 119
lfunthetaall 119
mfcuspwidth 119
mintau 119
mfcheapeisen 126
mfeigenbasis 126
nfcontent 126
mf2basis 133
mf2init_Nkchi 133
mfeval 133
mfeval_i 133
mfwt1cuspdim 133
split 133
c_mfEH 140
mfak_i 140
myimag_i 147
evalcusp 154
mfEk 161
getcolsgen 168
mfmul 168
pol_red 168
bdexpandall 175
cusp2mat 175
mfgaexpansionatkin 175
mfintereis 175
mycore 175
vecmflineardiv_linear 175
mfeisenstein 182
mfeisenstein_i 182
mfintereismodp 182
mflinear_i 182
vecmflineardiv0 182
QabM_Minv 189
mfcuspval 189
mfeisensteinspaceinit 189
mkM 189
nf_primpart 189
mffrickeeigen 196
mflineardivtomat 196
QabM_to_Flm 203
charsmodN 203
mfeisensteindim 203
mfeisensteinspaceinit_i 203
mfatkinmatnewquad 217
const_mat 224
cusp_AC 224
c_div 231
c_div_i 231
mfbasis 231
ZX_roots 238
van_embedall 238
checkfs_i 245
mfeigenembed 245
mfwtkdimsum 245
mfTheta 252
cache_reset 259
get_sh 259
mfgetembed 259
cache_set 266
rootspowers 266
mf_get_r 273
sertovecslice 273
findd 280
QabX_to_Flx 287
cmp_ord 287
mfatkininit_i 287
mfspace 287
mfspace_i 287
fs_get_bitprec 294
mfolddim 294
hclassno6u_2 301
mflinear 301
tobasis 301
QabM_init 308
atkin_get_NQ 308
cusp_canon 308
mfcuspisregular 308
unpack23 308
c_mul 336
anextract 350
mfbd_E2 357
mffindrootof1 357
mf_setfield 364
fs_get_vES 371
mfmatsermul_Fl 378
mynumdivu 392
mfsturm 399
c_delta 406
eta3_ZXn 406
mf_eisendec 406
mfeisensteindec 406
mffulldim 406
znstar_get_expo 406
zncharsG 420
mfvecembedall 427
sqrtm3modN 427
update_Mj 448
MF_get_fields 455
mflinear_bhn 455
sqrtm1modN 455
fs_get_MF 462
MF_get_newforms 469
mfwt1olddimsum 469
desc_mfeisen 497
mftobasis 497
polabstorel 518
RgX_embed2 532
mfeisensteinbasis_i 539
fs_get_vE 553
mfeisensteinbasis 560
vecGalois 560
c_Ek 567
mfthetaancreate 574
mfcharmul 595
mfisinspace_i 602
mfchilift 609
mfEMPTYall 616
mfmatsermul 616
mfparams 616
desc 623
mflinear_linear 623
mflineardiv_linear 623
vecpermute_partial 637
fs_get_cosets 644
mfperiod_prelim 651
mfperiodslash 651
mfvectomat 651
lfuntag 686
mf2dimwt32 693
getcols 721
c_linear_bhn 735
mfsturmNgk 742
charLFwt1 756
mfnewmathecke_p 763
mftobasis_i 763
charLFwt1_Fl 770
mfspclean 770
sort_by_dim 770
mkF2bd 777
mygmodulo 777
fs_get_pols 784
mflinear_strip 791
getembed 798
mfchareval 805
mftraceform_new 805
mfeisenstein2all 812
vecpush 812
RgX_embed 833
c_theta 833
QabM_pseudoinv 840
findbestsplit 840
mynffactor 847
vecmflinear 861
mfheckemat_i 868
RgC_embed 875
Minv_RgM_mul 882
search_from_split 882
mfEMPTY 952
mfdescribe 959
mfsplit 959
vecpermute_inplace 994
charLFwtk 1015
unpack0 1036
mf_normalize 1043
mfwt1newdimsum 1050
QabM_ker 1078
mfdiv_val 1106
mfsplit_i 1148
charLFwtk_Fl 1183
ZXn_sqr 1218
RgX_act_S 1253
vanembed 1253
mfcleanCHI 1267
mfgaexpansion_i 1316
shift_M 1316
mfdim_Nkchi 1323
mfchiadjust 1358
polembed 1365
RgV_normalize 1414
non_residues 1484
vecmfNK 1484
GL2toSL2 1491
check_M2Q 1491
mfchisimpl 1491
mfslashexpansion 1491
bestapprnfrel 1519
desc_i 1533
pari_close_mf 1536
condC 1568
mfvecembed 1617
tf_get_DATA 1638
MF_get_basis 1645
mf_get_NK 1666
sertocol 1666
mfwt1chars 1694
getcols_i 1701
mfeisenstein2_0_Fl 1701
mfeisenstein2pure_Fl 1701
mfwt1_pre 1701
mfgaexpansion 1708
check_SL2Z 1715
RgM_Minv_mul 1736
mfcoefs_mf 1743
mfinit 1918
c_newtrace 1946
MF_get_Minv 1960
mftocol 1981
mfsamefield 1988
mfclean 2002
ZM_pseudoinv_i 2044
expandbd 2114
mfeisenstein2pure 2114
mfwt1dimsum 2114
MF_get_dim 2177
mftreatdihedral 2198
c_linear 2205
mkeisen 2233
RgV_to_ser 2275
mfcoefsser 2275
mfinit_Nndkchi 2275
c_hecke 2296
MF_get_E 2485
expandbd_Fl 2562
hecke_i 2604
mfinitcusp 2639
taglinear 2681
mfclean2 2849
mfinit_i 2849
mfwtkdims 2947
mfeisenstein2_0 2975
mfdim0all 3010
checkMF 3073
mfcuspcanon_width 3129
taglinear_i 3129
c_Bd 3136
mfcoefs 3136
is_in_M2 3206
mfdihedralcusp 3213
mfchars 3227
mfchartrivial 3290
mfwt1init 3297
c_mfeisen 3346
lamCO 3360
c_dihedral 3374
QabV_tracerel 3486
get_mfchar 3521
MF_get_M 3577
dim22 3696
zeta2CO 3696
mfchareval_i 3857
fmt_dim 3955
gmfcharno 3955
mfcharistrivial 4102
Minv_RgC_mul 4123
mfwt1cuspdimsum 4123
mfsturm_mf 4130
mfwt1cuspdimall 4137
mfinit_Nkchi 4172
mfqk 4298
bhn_newtrace 4312
bhnmat_extend_nocache 4312
SL2_div_D 4557
mftocoset_iD 4557
mftocoset_i 4564
MF_get_k 4683
c_deflate 4732
mfcharcxeval 4746
mfchargalois 4823
mfbdall 4879
MF_get_CHI 5131
mfskcx 5320
RgV_mul_RgXn 5642
mfdim 5691
mubeta 5789
MFnew_get_vj 5824
improve 5824
dihan_bnf 6006
coset_complete 6013
badchar 6055
mkMinv 6125
cache_delete 6144
get_badj 6265
mfchardiv 6426
mfchardiv_i 6426
bhnmat_extend 6524
space_is_cusp 6636
m1pk 6685
mfolddim_i 6748
mfdihedralcuspdim 6860
mfwt1cuspdim_i 6972
char2 7021
tag 7252
mfdihedralnew 7329
f00 7497
MF_get_space 7623
MF_get_Mindex 7714
vecj_expand 7889
mfalchi2 7959
mfcharmulcxeval 7959
mfeisensteingacx 7959
mfgatogap 7959
MF_get_gk 8134
QabC_to_Flc 8267
f00_i 8582
RgV_shift 8708
checkCHI 8715
checkNK2 8722
ceilA1 8736
bdexpand 8918
nu3 9044
mkmat22 9177
append_dihedral 9289
sigchi 9296
parse_vecj 9373
dihan 9968
mkmf 10003
tag3 10094
mfwt1basis 10269
mkNK 10395
QabM_indexrank 10682
mfconreyminimize 10759
init_cachenew 11389
mfcharno 11683
hecke_data 12691
cmp_small_priority 12894
checkmf_i 12901
mfnewinit 12992
hash_eisengacx 13132
Rg_embed2 13216
mfnewdim 13223
mfembedall 13279
cyc_normalize_zv 13391
mklvchi 13391
charistotallyeven 13846
MF_get_S 13867
CHIvec_CHI 14042
MF_get_N 14441
dbg_cachenew 14441
MF_get_gN 14560
mfcharinduce 14826
mysumdivku 14931
mfdihedralnewdim 15484
nu2 15512
wt1empty 15575
mf_get_CHI 15701
mfcharmuleval 15918
cmp_coset 16177
checkMF_i 16541
mfdihedralcommon 16835
bnrchartwist2conrey 17206
conreydenormalize 17206
Qab_trace_init 17745
mfembed 18494
mfhecke_i 18683
mfcoefs_i 19698
newtrace_DATA 19754
newtrace_stripped 19754
dihan_bnr 20293
di_N 21021
gausssumcx 21238
mfcharcxinit 21238
mfdihedral 22813
mfdihedralnew_i 22813
tag2 23142
mfbd_i 23268
sigchi2_Fl 23569
mfcharorder_canon 24465
CHIvec_parity 24829
initnewtrace_i 25221
inittrconj 25221
mfcharinit 25228
initnewtrace 25242
mfnewzerodata 25242
Galois 25900
reset_cachenew 26019
mfsturmNk 26026
mf_get_field 27230
mybezout 31836
newd_params 32438
tracerelzQ 33446
nuinf 33929
mkgNK 34538
mfcuspdim 36645
A4 36729
A21 36918
A22 36918
CHIvec_ord 37079
A3 37156
tracerel_i 38556
tagparams 40614
mf2dimwt12 41363
Miyake 41769
induceN 41979
cmp_small 42035
phipart 42567
mf2dim_Nkchi 43463
checkmf2 43596
mfdim_Nndkchi 44702
mf_get_k 45682
RgC_Bd_expand 47243
bhn_parse 47243
mf_get_N 58597
heckenewtrace 58632
char_normalize_zv 58975
mfcharparity 62762
Rg_embed 63476
mfchartoprimitive 64274
mf_get_gk 65345
mfdiheval 71547
sigchi2 73416
tracerelz 77266
mf_get_gN 77728
mfcharpol 93037
myeulerphiu 94955
sigchi2_dec 96985
mf_get_type 97825
inittrace 98609
mkbez 98609
mkgcd 98609
mkmup 98609
mksqr 98609
ceildiv 101430
colnewtrace 106029
mygmodulo_Fl 113659
fix_pol 140903
hclassno6u 154170
A1 222383
CHIvec_expo 231098
mycharexpo 231098
div_restrict 233562
znchareval_i 235200
mypsiu 259371
vchip_lift 279013
get_PSI 299775
mfcharmul_i 300986
mfrhopol 301147
induce 307069
trconj 354032
mfcharGL 368662
mfcharconductor 387576
mygmodulo_lift 403088
Qab_to_Fl 405706
gmfcharmodulus 427588
mfcharmodulus 427588
mfcharevalord 430017
ord_canon 444304
mfcharorder 518210
gmfcharorder 532532
fg1g2n 940597
newt_params 949228
vchip_polmod 976780
mfnewchkzero 1239784
mfnewtrace_i 1239784
ZXrecip_u_eval 1874558
mfnewtracecache 2151044
vchip_mod 2905406
TA1 2922759
TA2 2922759
TA3 2922759
TA4 2922759
mfcusptrace_i 2922759
mfcusptracecache 3700970
mubeta2 3700970
myh 3988173
mutglistall 6159468
lamsig 9063342
eiscnm 10073518
auxsum 11598405
myfactoru 13547184
corediscs_fact 16234273
mychareval 21994616
CHIvec_val 22020152
CHIvec_N 22354353
mydivisorsu 29245216
hclassno6u_i 44273040
mutg1 45824205
mfrhopowsimp 48693498
mycoredisc2neg 51983988
vchip_FC 75280527
myugcd 85318170
mychicgcd 116294402
cache_get 143214948

Generated by: LCOV version 1.11