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 20916-a74d914) Lines: 2011 2335 86.1 %
Date: 2017-08-18 06:23:59 Functions: 161 172 93.6 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 23996
Flx_checkdeflate 104774
Flx_radical 104774
FpX_radical 3113
Fp_basis 51012
FqM_to_nfM 8022
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 7413
Fq_to_nf 1328649
QXQV_to_FpM 119
QpXV_denom 47194
QpX_denom 337302
QpX_remove_denom 143521
RgV_nffix 28
RgX_nffix 61300
Rg_nffix 228815
Rg_to_ff 5466899
ZX_Dedekind 100275
ZX_compositum_disjoint 385
ZX_rescale_inv 1421
Zlx_gcd 18271
Zlx_sylvester_echelon 773362
ZpM_hnfmodid 33061
ZpX_disc_val 28287
ZpX_gcd 23996
ZpX_monic_factor 1239
ZpX_reduced_resultant 79513
ZpX_reduced_resultant_fast 53942
ZpX_resultant_val 656714
ZpX_resultant_val_i 683699
ZpX_sylvester_echelon 13846
_msqr 10269
_sqr 56819
allbase2 0
anti_uniformizer 353745
checkmodpr 182
checkprid 2331518
checkprid_i 3010644
companion 0
compmod 20489
compositum 35
compositum2 231
compositum_fix 1169
dbasis 44352
diag_denom 6818
dim1proj 353468
ei_msqr_mod 84535
errprime 0
expo_is_squarefree 1036
fact_from_factors 77
ffdegree 357
fill 10206
fnz 38297
gen_if_principal 35
get_LV 15788
get_coprimes 70
get_g 39403
get_gamma 38983
get_maxord 16289
get_modpr 3024
get_norm 58304
get_nu 60844
get_order 70
get_partial_order_as_pols 47194
get_powers 25491
get_pr 53401
get_prid 653548
getprime 47467
ideal_is1 21469
idealprimedec 141364
idealprimedec_degrees 203
idealprimedec_galois 3920
idealprimedec_kummer 756269
idealprimedec_limit_f 594282
idealprimedec_limit_norm 194334
indexpartial 1155
init_m 710656
init_norm 15788
is_pseudo_matrix 63
is_uniformizer 58304
lift_to_zk 6944
loop 18935
loop_init 25081
manage_cache 66304
matinv 0
maxord 100275
maxord2 0
maxord_i 33922
minval 12082
mk_pr 811015
modpr_TAU 749693
modpr_genFq 4144
modprinit 366934
mtran 0
mtran_long 0
mul_intersect 126770
mycaract 66304
newtoncharpoly 65324
newtonsums 66304
nextk 14
nfM_to_FqM 4207
nfV_to_FqV 3763
nfXQ_mul 48062
nfX_mul 50862
nfX_rem 48062
nfX_sub 2800
nfX_to_FqX 8428
nf_pV_to_prV 1057
nf_to_Fq 5466479
nf_to_Fq_init 745227
nfbasis 56
nfbasis_gp 56
nfcompositum 630
nfdisc 3129
nfidealdet1 63
nfmaxord 13090
nfmaxord_check_args 16219
nfmodpr 238
nfmodprinit 49
nfmodprlift 56
nfreducemodpr 182
nfsplitting 126
nilord 19509
ok_modpr 550648
p_is_prime 1022
pol_min 22978
polcompositum0 385
poldiscfactors 28
poldiscfactors_i 11984
polsymmodp 39270
pow_ei_mod_p 108220
pradical 15788
primedec_aux 598405
primedec_end 15788
redelt 7343
redelt_i 11298
rnfallbase 1568
rnfbasis 21
rnfdedekind 84
rnfdedekind_i 2828
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 16919
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 2744
rnfjoinmodules_i 5103
rnfmaxord 2744
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 203
set_disc 16219
split_char 51541
sqr_mod 177805
testb2 7805
testc2 1554
to_ff_init 751807
triv_order 868
uniformizer 41878
update_den 534800
update_fact 455
update_phi 14980
vstar 49168
zk_to_Fq 1162112
zk_to_Fq_init 6580
zkmodprinit 6602
zx_z_div 97156

Generated by: LCOV version 1.11