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.8.0 lcov report (development 19374-ac31b96) Lines: 1940 2267 85.6 %
Date: 2016-08-30 06:11:37 Functions: 154 165 93.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Decomp 23282
Flx_checkdeflate 99806
Flx_radical 99806
FpX_radical 3093
Fp_basis 39388
FqM_to_nfM 1162
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 3997
Fq_to_nf 1172745
QpXV_denom 46242
QpX_denom 330099
QpX_remove_denom 139622
RgV_nffix 28
RgX_nffix 64862
Rg_nffix 188713
Rg_to_ff 4717608
ZX_Dedekind 95557
ZX_compositum_disjoint 385
ZX_rescale_inv 1330
Zlx_gcd 17765
Zlx_sylvester_echelon 186091
ZpM_hnfmodid 32403
ZpX_disc_val 27342
ZpX_gcd 23282
ZpX_monic_factor 476
ZpX_reduced_resultant 78932
ZpX_reduced_resultant_fast 53389
ZpX_resultant_val 70378
ZpX_resultant_val_i 96838
ZpX_sylvester_echelon 12961
_msqr 2569
_sqr 8036
allbase2 0
allbase_from_maxord 5684
anti_uniformizer2 682197
checkmodpr 182
checkprid 2834620
checkprid_i 3492641
companion 0
compmod 19866
compositum 35
compositum2 231
compositum_fix 805
dbasis 43505
diag_denom 5992
dim1proj 574625
disc_from_maxord 3129
errprime 0
expo_is_squarefree 469
fact_from_factors 70
ffdegree 434
fill 2016
fnz 36379
gen_if_principal 35
get_LV 14227
get_coprimes 70
get_g 38374
get_gamma 38003
get_maxord 8890
get_modpr 3003
get_norm 576330
get_nu 59304
get_order 70
get_partial_order_as_pols 46242
get_powers 19124
get_pr 41502
get_prid 645841
get_proj_modT 128759
getprime 45976
ideal_is1 3311
idealprimedec 113111
idealprimedec_limit_f 556716
idealprimedec_limit_norm 315700
indexpartial 2394
init_m 123767
init_norm 14227
is_pseudo_matrix 63
is_uniformizer 576330
lift_to_zk 11648
loop 18403
loop_init 24220
manage_cache 64610
matinv 0
maxord 95557
maxord2 0
maxord_i 32816
mk_pr 715840
modpr_TAU 684178
modpr_genFq 1848
modprinit 706548
mtran 0
mtran_long 0
mul_intersect 93938
mycaract 64610
newtoncharpoly 63672
newtonsums 64610
nextk 14
nfM_to_FqM 665
nfV_to_FqV 3770
nfXQ_mul 6678
nfX_mul 6678
nfX_rem 6678
nfX_to_FqX 13076
nf_to_Fq 4717188
nf_to_Fq_init 683947
nfbasis 56
nfbasis_gp 56
nfcompositum 448
nfdisc 3129
nfidealdet1 56
nfmaxord 5691
nfmaxord_check_args 8820
nfmodpr 238
nfmodprinit 49
nfmodprlift 56
nfreducemodpr 182
nfsplitting 112
nilord 18823
ok_modpr 550137
p_is_prime 1001
pol_min 14322
polcompositum0 308
polsymmodp 38220
pradical 14227
primedec_apply_kummer 678144
primedec_aux 556716
primedec_end 14227
redelt 7112
redelt_i 10962
rnfallbase 1078
rnfbasis 21
rnfdedekind 77
rnfdedekind_i 1624
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 2310
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 1547
rnfjoinmodules_i 1008
rnfmaxord 1547
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 161
set_disc 8820
special_anti_uniformizer 310349
split_char 50211
testb2 7658
testc2 1463
to_ff_init 703008
triv_order 714
uniformizer 29270
update_den 522676
update_fact 238
update_phi 14574
vstar 47572
zk_to_Fq 641092
zk_to_Fq_init 19061
zkmodprinit 5283
zx_z_div 92458

Generated by: LCOV version 1.11