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 21723-7dc29a5) Lines: 6857 7040 97.4 %
Date: 2018-01-18 06:18:29 Functions: 707 709 99.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
mfmatembed 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
mffindeisen1 7
mffromlfun 7
mffvanish 7
mfheckemat_mfcoefs_p2 7
mfisequal 7
mfisnotA5 7
mfisnotS4 7
mfkohneneigenbasis 7
mfpeterssonnoncusp 7
mftocoset 7
mkS 7
pathmattovec 7
wt1newlevel 7
RgX_by_parity 14
c_derivE2 14
findq 14
findqganew 14
fs_set_expan 14
getcache 14
initwt1newtrace 14
mfcanfindp0 14
mfisCM 14
mfisinkohnen 14
mfkohnenbijection 14
mfkohnenbijection_i 14
mfsearch 14
mftaylor 14
mftraceform_cusp 14
mftwist 14
mycoredisc2pos 14
newd_params2 14
unact 14
anyembed 21
c_bracket 21
c_cusptrace 21
c_deriv 21
checkPv 21
checkemb_i 21
checkmfa 21
desc_dihedral 21
initwt1trace 21
mfatkin 21
mfbracket 21
mfderivE2 21
mffromell 21
mfgaexpansionatkin 21
mfgaloistype_i 21
mfinittonew 21
mfkohnenbasis 21
mfkohnenbasis_i 21
mfunram 21
mysqrtu 21
polisspherical 21
radical_u 21
c_QFsimple_i 28
c_shimura 28
deg1ser_shallow 28
lfunquadneg 28
mf1 28
mfatkineigenquad 28
mfcharconj 28
mfcusps 28
mfderiv 28
mfeigensearch 28
mfwt1olddimall 28
simple_pole 28
u_pporad 28
valNC2 28
vecembed2 28
RgV_approx 35
bestapprnf2 35
c_QF_i 35
c_shift 35
desc_hecke 35
intAoo0 35
mfbd 35
mffields 35
mfheckemat_mfcoefs_p 35
mfmanin 35
mfperiodpol 35
mfperiodpolbasis 35
mfs_iscusp 35
mfshimura 35
mfshimura_space_cusp 35
mfsymbolevalpartial 35
mftonew 35
Mindex_as_coef 42
actal 42
hclassno6u_count 42
lfunmf 42
lfunmf_i 42
mfatkineigenvalues 42
mfdiv 42
mfembed0 42
mffrickeeigen 42
mffrickeeigen_i 42
mffromqf 42
mfgaloistype0 42
mfisdihedral 42
mfshift 42
mfval 42
search_levels 42
unpack2 42
c_ell 49
fs_get_EF 49
mf2init 49
mfDelta 49
mfgaloistype 49
mfpow 49
mfs_checkmf 49
tag0 49
mf2gaexpansion 56
mfthetaexpansion 56
mfthetamultiplier 56
mfwt1newdimall 56
usumpow 56
NK_eisen2 63
NK_eta 63
RgV_div_RgXn 63
RgX_valrem_root 63
c_F2TH4 63
constcoredisc 63
constdiv 63
mfEH 63
mfEHmat 63
mfatkinmatnewquad 63
mffrometaquo 63
cache_report 70
constfact 70
mf_set_space 70
mfcharAL 70
mfcharchiliftprim 70
mfheckemat 70
mftrivial 70
mfwt1_cusptonew 70
myusqrt 70
sertocol2 70
tp2apply 70
tp2eapply 70
RgV_pows_RgXn 77
c_pow 77
mfEHcoef 77
mfatkininit 77
mfheckemat_p 77
heckef2_data 84
mat2cusp 84
mfcoef 84
mfheckemat_mfcoefs 84
mftraceform 84
mftraceform_i 84
c_etaquo 91
findqga 91
mfeigenembed 91
mflfuncreateall 91
RgV_heckef2 98
RgV_shimura 98
RgXV_embed 98
col2cusp 98
desc_linear 98
mfhecke 98
mfstabiter 98
mfstabitermodp 98
mfsymboleval_direct 98
normal 98
paramconst 98
Tpmat 105
mfcharinv_i 105
mfcharpow 105
mflfuncreate 105
mfwt1dimmodp 105
mfwt1dims 105
polishomogeneous 105
RgX_act_gen 112
ZX_roots 112
intAoowithvanall 112
Haberland 119
checkNK 119
consttabh 119
mfcuspwidth 119
mfpetersson 119
mfsymbol 119
mfsymboleval 119
mfgaexpansionall 126
nfcontent 126
matdeflate 133
mfatkininit_i 133
mfgetvan 133
mfperiodpols_i 133
mfwt1cuspdim 133
c_const 140
c_mfEH 140
cxredga0N 140
getcolswt2 140
lfunthetaall 140
mfcheapeisen 140
mfcosets 140
mfsymbol_i 140
mintau 140
MF_get_r 147
mfeigenbasis 147
rootspowers 147
atkin_get_NQ 154
mfeval 154
mfeval_i 154
mfmultheta 154
AX_B 161
CX_D 161
act_GL2 161
zero_at_cusp 161
mfak_i 168
myimag_i 168
expsum 175
expsumscale 175
get_PCO 175
mf2basis 175
mf2init_Nkchi 175
mfconductor 175
mfintereis 175
mycore 175
pol_red 175
mfEk 182
mfintereismodp 182
val 182
mfmul 189
nf_primpart 189
mfcuspval 196
mfiscuspidal 196
QabM_to_Flm 203
findd 217
split 217
vecmflineardiv_linear 217
c_div 224
c_div_i 224
mfeisenstein 224
mfeisenstein_i 224
vecmflineardiv0 224
bdexpandall 231
getcolsgen 231
mfeisensteindim 231
mfperiod_prelim 238
QabM_Minv 252
mfeisensteinspaceinit 252
mfwtkdimsum 252
mkM 252
RgX_embedall 259
get_sh 259
van_embedall 259
anextract 266
charsmodN 266
mf_get_r 266
mfeisensteinspaceinit_i 266
mfbasis 273
RgC_embedall 280
mf_setfield 280
mftonew_i 280
mfvec_first_cusp 280
QabX_to_Flx 287
cmp_ord 287
mflineardivtomat 287
mfspace 287
mfspace_i 287
mfolddim 294
MFcusp_get_vMjd 301
hclassno6u_2 301
mflinear_i 301
cache_reset 308
unpack23 308
MF_get_fields 315
cache_set 315
cusp_canon 315
mfcuspisregular 315
sertovecslice 315
get_mf_F 322
MF_get_newforms 329
cusp2mat 329
mfTheta 329
mftobasisES 329
evalcusp 336
vecembed1 336
checkfs_i 343
mffindrootof1 357
QabM_init 371
c_mul 371
mfmatsermul_Fl 378
vanembed 385
c_hecke 399
seenD 413
tobasis 420
mflinear 448
mflinear_bhn 448
c_delta 455
eta3_ZXn 455
mfwt1olddimsum 469
mffulldim 483
zncharsG 483
fs_get_bitprec 490
mfgetembed 490
sqrtm3modN 497
desc_mfeisen 504
mfbd_E2 504
mfsturm 504
update_Mj 511
polabstorel 518
RgX_embed2 532
znstar_get_expo 532
mfcuspcanon_width 553
const_mat 560
fs_get_vES 560
hecke_i 567
sqrtm1modN 567
cusp_AC 574
grootsof1_CHI 588
vecGalois 602
c_Ek 616
mfEMPTYall 616
desc 623
c_newtrace 637
mfthetaancreate 637
mf_eisendec 644
mfeisensteindec 644
mfslashexpansion 644
ZabM_pseudoinv_i 658
mfparams 658
mfeisensteinbasis_i 665
GL2toSL2 679
mkF2bd 686
mf2dimwt32 693
mfeisensteinbasis 693
mfmatsermul 700
getembed 728
mfgaexpansion_i 735
mygmodulo 735
shift_M 735
lfuntag 749
mfcharmul 749
mfcoefsser 770
mfchareval 777
mfnewmathecke_p 777
mfspclean 784
sort_by_dim 784
split_starting_space 784
intAoo 791
mfclean2 791
mftobasis 798
charLFwt1_Fl 805
mftraceform_new 819
vecpush 826
getcols 840
RgX_embed1 847
ZM_mulS 854
findbestsplit 854
fs_get_vE 854
mynffactor 861
mfchilift 868
mflinear_linear 882
mflineardiv_linear 882
search_from_split 882
charLFwt1 889
Minv_RgM_mul 896
mfisinspace_i 896
QabM_pseudoinv 910
vecmflinear 910
MF_get_basis 917
mfEMPTY 924
c_linear_bhn 931
fs_get_MF 952
mfvectomat 952
mfsplit 959
mfdescribe 966
mfperiod_prelim_double 1001
mftobasis_i 1001
vecpermute_partial 1008
mflinear_strip 1022
fs_get_pols 1036
vecpermute_inplace 1036
mfgaexpansion 1043
unpack0 1043
check_SL2Z 1050
mfwt1newdimsum 1050
c_theta 1064
mf_normalize 1064
mfistrivial 1071
mfeisenstein2all 1092
mfvecembed 1092
fs_get_expan 1099
QabM_ker 1134
mfsplit_i 1162
mfsturmNgk 1169
charLFwtk 1267
RgX_act_S 1281
taglinear 1309
charLFwtk_Fl 1337
fs_get_cosets 1344
ZXn_sqr 1365
mfdim_Nkchi 1379
non_residues 1400
RgV_normalize 1435
mfqk 1470
pari_close_mf 1517
bestapprnfrel 1519
mfchisimpl 1533
desc_i 1540
RgX_embed 1561
condC 1568
mfdiv_val 1596
getnlim2 1645
getw1w2 1645
act_S 1666
mfwt1chars 1701
ZM_mulTi 1708
mfwt1_pre 1708
check_M2Z 1729
vecmfNK 1792
mfcoefs_mf 1799
RgX_act_typ 1827
normalizeapprox 1827
RgM_Minv_mul 1834
mfchiadjust 1904
update_factor_cache 2025
getcols_i 2037
mfeisenstein2_0_Fl 2037
mfeisenstein2pure_Fl 2037
MF_get_Minv 2051
mfinit 2065
toRgX0 2065
mfwt1dimsum 2114
mftreatdihedral 2212
ok_bhn_linear 2219
c_linear 2226
abundant 2247
mfskcx 2247
mfinit_Nndkchi 2338
sertocol 2527
mfsamefield 2534
mynumdivu 2639
RgV_mul_RgXn 2674
expandbd 2695
mfeisenstein2pure 2695
mfinitcusp 2765
checkMF 2807
mfsturm_mf 2814
mkeisen 2947
mfwtkdims 2961
mfcoefs 2982
mfinit_i 2996
mfdim0all 3010
ZM_mulT 3164
mfdihedralcusp 3220
MF_get_dim 3234
RgV_to_ser 3234
MF_get_E 3248
mfcleanCHI 3248
mfchars 3255
expandbd_Fl 3276
c_dihedral 3311
mfwt1init 3311
mftocol 3346
lamCO 3360
c_Bd 3458
f00 3507
QabV_tracerel 3514
mfchartrivial 3570
get_mfchar 3640
dim22 3696
zeta2CO 3696
taglinear_i 3787
mfchardiv 3843
mfchardiv_i 3843
mfeisenstein2_0 3850
mfalchi2 3948
mfcharmulcxeval 3948
mfeisensteingacx 3948
mfgatogap 3948
RgV_shift 3983
f00_i 3983
fmt_dim 3983
gmfcharno 3983
vecj_expand 3983
mfclean 3990
mfwt1cuspdimsum 4123
mfwt1cuspdimall 4144
bdexpand 4256
mfinit_Nkchi 4347
char2 4592
Minv_RgC_mul 4627
mfchareval_i 4662
bhnmat_extend_nocache 4788
space_is_cusp 4809
mfchargalois 4844
MF_get_k 4893
c_mfeisen 5117
mfbdall 5173
c_deflate 5299
MF_get_M 5383
mfcharistrivial 5411
mfdim 5719
improve 5740
MF_get_CHI 5817
mubeta 5908
parse_vecj 5978
dihan_bnf 6020
cache_delete 6068
mkMinv 6132
MFnew_get_vj 6167
hash_eisengacx 6209
SL2_div_D 6321
mftocoset_iD 6321
mfZC_width 6391
badchar 6419
mftocoset_i 6468
mfcharcxeval 6552
get_badj 6601
m1pk 6629
MF_get_Mindex 6664
bhnmat_extend 6713
mfdihedralcuspdim 6867
ceilA1 6986
mfwt1cuspdim_i 6986
mfolddim_i 7084
mfdihedralnew 7350
mfcharmuleval 7896
tag 8134
QabC_to_Flc 8267
coset_complete 8330
CHIvec_CHI 8568
MF_get_gk 8834
checkCHI 8834
checkNK2 8841
QabM_indexrank 8988
nu3 9100
init_cachenew 9254
append_dihedral 9289
MF_get_space 9639
dihan 9933
gausssumcx 10143
mfcharcxinit 10143
mfwt1basis 10297
mkmf 10570
mfconreyminimize 10773
mysumdivku 10878
tag3 10934
mkNK 11606
mfcharno 11760
bhn_newtrace 12341
checkmf_i 13069
Rg_embed2 13286
hecke_data 13356
cyc_normalize_zv 13391
mklvchi 13391
mfnewinit 13657
Rg_embedall 13783
charistotallyeven 13846
dbg_cachenew 13874
mfnewdim 13888
MF_get_N 14392
mf_get_NK 14637
mfcharinduce 14854
MF_get_gN 14994
mfdihedralnewdim 15491
wt1empty 15617
MF_get_S 15645
mf_get_field 15708
mybezout 15792
nu2 15834
cmp_small_priority 16044
checkMF_i 16625
mfdihedralcommon 16835
sigchi 16891
bnrchartwist2conrey 17206
conreydenormalize 17206
Qab_trace_init 17878
mfembed 19061
mfcoefs_i 19222
mfhecke_i 19691
dihan_bnr 20307
di_N 21021
CHIvec_ord 22127
cmp_coset 22680
mfdihedralnew_i 22841
initnewtrace_i 23695
inittrconj 23695
mfcharinit 23702
initnewtrace 23730
mfnewzerodata 23730
newtrace_DATA 24521
newtrace_stripped 24521
reset_cachenew 24521
mkgNK 25361
mfbd_i 25382
CHIvec_parity 25431
tag2 25452
Galois 25963
mf_get_CHI 26327
mfcharorder_canon 26355
mfsturmNk 27132
sigchi2_Fl 27818
newd_params 31248
nuinf 34713
mfcuspdim 38024
A4 38108
A21 38374
A22 38374
A3 38640
tracerel_i 39494
mf2dimwt12 41363
Miyake 41769
induceN 42238
phipart 42567
mf2dim_Nkchi 43463
checkmf2 43638
mf_get_k 43638
tagparams 44667
mfdim_Nndkchi 44744
RgC_Bd_expand 49637
bhn_parse 49637
cmp_small 57253
char_normalize_zv 58975
heckenewtrace 59437
mfchartoprimitive 60662
Rg_embed1 61166
mf_get_N 62909
mfcharparity 64106
mfdiheval 71393
mf_get_gk 75635
tracerelz 77273
mymoebiusu 77336
mf_get_gN 88179
sigchi2 94465
inittrace 95291
mkbez 95291
mkgcd 95291
mkmup 95291
mksqr 95291
myeulerphiu 100107
ceildiv 100471
colnewtrace 103922
mf_get_type 119350
mygmodulo_Fl 121604
sigchi2_dec 122283
mfcharpol 128632
fix_pol 140686
hclassno6u 154940
fg1g2n 168462
trconj 192108
A1 217168
CHIvec_expo 231427
mycharexpo 231427
mypsiu 253680
div_restrict 281855
znchareval_i 287140
get_PSI 299775
mfcharmul_i 301399
mfrhopol 303926
induce 305242
vchip_lift 325703
mfcharGL 367185
mfcharconductor 389417
Qab_to_Fl 405706
ord_canon 444962
gmfcharmodulus 461202
mfcharmodulus 461202
mygmodulo_lift 467432
mfcharevalord 535598
mfcharorder 624624
gmfcharorder 651917
newt_params 893739
vchip_polmod 926555
mfnewchkzero 1222172
mfnewtrace_i 1222172
eiscnm 1640002
ZXrecip_u_eval 1909775
mfnewtracecache 2109023
TA1 2946552
TA2 2946552
TA3 2946552
TA4 2946552
mfcusptrace_i 2946552
vchip_mod 3117191
mfcusptracecache 3955623
mubeta2 3955623
mychareval 4518087
CHIvec_val 4529700
myh 4545702
CHIvec_N 4869529
corediscs_fact 8467151
mutglistall 9320199
lamsig 9763314
auxsum 11670666
myfactoru 14560553
hclassno6u_i 34642769
mydivisorsu 35988190
mutg1 36629845
mfrhopowsimp 39669518
mycoredisc2neg 45950359
vchip_FC 76378855
myugcd 90488195
mychicgcd 122922912
cache_get 135865732

Generated by: LCOV version 1.11