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 - base2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 21741-70cf009) Lines: 2023 2140 94.5 %
Date: 2018-01-21 06:18:30 Functions: 161 164 98.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 23996
Flx_checkdeflate 104948
Flx_radical 104948
FpX_radical 3126
Fp_basis 50511
FqM_to_nfM 8036
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 7448
Fq_to_nf 1328775
QXQV_to_FpM 119
QpXV_denom 47194
QpX_denom 337813
QpX_remove_denom 144032
RgV_nffix 28
RgX_nffix 61342
Rg_nffix 228227
Rg_to_ff 5464645
ZX_Dedekind 100450
ZX_compositum_disjoint 385
ZX_rescale_inv 1421
Zlx_gcd 18271
Zlx_sylvester_echelon 766330
ZpM_hnfmodid 33131
ZpX_disc_val 28287
ZpX_gcd 23996
ZpX_monic_factor 1239
ZpX_reduced_resultant 79723
ZpX_reduced_resultant_fast 54124
ZpX_resultant_val 649454
ZpX_resultant_val_i 676439
ZpX_sylvester_echelon 13828
_msqr 10269
_sqr 56840
anti_uniformizer 353619
checkmodpr 182
checkprid 2322838
checkprid_i 3002356
compmod 20580
compositum 35
compositum2 231
compositum_fix 1169
dbasis 44534
diag_denom 6965
dim1proj 353329
ei_msqr_mod 83908
errprime 0
expo_is_squarefree 1036
fact_from_factors 133
ffdegree 357
fill 10220
fnz 38710
gen_if_principal 35
get_LV 15771
get_coprimes 63
get_g 39515
get_gamma 39095
get_maxord 16212
get_modpr 3024
get_norm 57693
get_nu 61054
get_order 70
get_partial_order_as_pols 47194
get_powers 25181
get_pr 52907
get_prid 653863
getprime 47712
ideal_is1 21483
idealprimedec 138242
idealprimedec_degrees 203
idealprimedec_galois 3920
idealprimedec_kummer 747796
idealprimedec_limit_f 589916
idealprimedec_limit_norm 194306
indexpartial 1155
init_m 703578
init_norm 15771
is_pseudo_matrix 63
is_uniformizer 57693
lift_to_zk 6944
loop 18984
loop_init 25200
manage_cache 66563
maxord 100450
maxord_i 33992
minval 12089
mk_pr 802102
modpr_TAU 747474
modpr_genFq 4144
modprinit 366809
mul_intersect 125315
mycaract 66563
newtoncharpoly 65583
newtonsums 66563
nextk 14
nfM_to_FqM 4214
nfV_to_FqV 3763
nfXQ_mul 48069
nfX_mul 50883
nfX_rem 48069
nfX_sub 2814
nfX_to_FqX 8456
nf_pV_to_prV 1057
nf_to_Fq 5464218
nf_to_Fq_init 743008
nfbasis 56
nfbasis_gp 56
nfcompositum 630
nfdisc 3150
nfidealdet1 63
nfmaxord 12999
nfmaxord_check_args 16149
nfmodpr 245
nfmodprinit 56
nfmodprlift 70
nfreducemodpr 182
nfsplitting 126
nilord 19579
ok_modpr 550963
p_is_prime 1022
pol_min 22668
polcompositum0 385
poldiscfactors 28
poldiscfactors_i 11816
polsymmodp 39431
pow_ei_mod_p 107583
pradical 15771
primedec_aux 594039
primedec_end 15771
redelt 7455
redelt_i 11410
rnfallbase 1589
rnfbasis 21
rnfdedekind 84
rnfdedekind_i 2842
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 16926
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 2758
rnfjoinmodules_i 5110
rnfmaxord 2758
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
safe_Z_pvalrem 651
set_disc 16149
split_char 51702
sqr_mod 176572
testb2 7812
testc2 1596
to_ff_init 749588
triv_order 882
uniformizer 41477
update_den 535738
update_fact 490
update_phi 15078
vstar 49413
zk_to_Fq 1160212
zk_to_Fq_init 6580
zkmodprinit 6603
zx_z_div 97324

Generated by: LCOV version 1.11