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 21196-f12677d) Lines: 2011 2335 86.1 %
Date: 2017-10-22 06:23:24 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 104857
Flx_radical 104857
FpX_radical 3127
Fp_basis 50459
FqM_to_nfM 8022
FqV_to_nfV 0
FqX_non_root 21
FqX_to_nfX 7455
Fq_to_nf 1328733
QXQV_to_FpM 119
QpXV_denom 47194
QpX_denom 337309
QpX_remove_denom 143528
RgV_nffix 28
RgX_nffix 61804
Rg_nffix 229242
Rg_to_ff 5467004
ZX_Dedekind 100359
ZX_compositum_disjoint 385
ZX_rescale_inv 1421
Zlx_gcd 18271
Zlx_sylvester_echelon 771562
ZpM_hnfmodid 33061
ZpX_disc_val 28287
ZpX_gcd 23996
ZpX_monic_factor 1239
ZpX_reduced_resultant 79520
ZpX_reduced_resultant_fast 53949
ZpX_resultant_val 654907
ZpX_resultant_val_i 681892
ZpX_sylvester_echelon 13846
_msqr 10269
_sqr 56819
allbase2 0
anti_uniformizer 353766
checkmodpr 182
checkprid 2328220
checkprid_i 3007346
companion 0
compmod 20489
compositum 35
compositum2 231
compositum_fix 1169
dbasis 44394
diag_denom 6860
dim1proj 353496
ei_msqr_mod 83787
errprime 0
expo_is_squarefree 1036
fact_from_factors 77
ffdegree 357
fill 10206
fnz 38591
gen_if_principal 35
get_LV 15734
get_coprimes 70
get_g 39403
get_gamma 38983
get_maxord 16331
get_modpr 3024
get_norm 57570
get_nu 60851
get_order 70
get_partial_order_as_pols 47194
get_powers 25165
get_pr 52834
get_prid 653548
getprime 47460
ideal_is1 21469
idealprimedec 141364
idealprimedec_degrees 203
idealprimedec_galois 3920
idealprimedec_kummer 754285
idealprimedec_limit_f 593819
idealprimedec_limit_norm 194334
indexpartial 1155
init_m 708856
init_norm 15734
is_pseudo_matrix 63
is_uniformizer 57570
lift_to_zk 6944
loop 18935
loop_init 25081
manage_cache 66311
matinv 0
maxord 100359
maxord2 0
maxord_i 33922
minval 12082
mk_pr 808517
modpr_TAU 749735
modpr_genFq 4144
modprinit 366955
mtran 0
mtran_long 0
mul_intersect 125191
mycaract 66311
newtoncharpoly 65331
newtonsums 66311
nextk 14
nfM_to_FqM 4207
nfV_to_FqV 3763
nfXQ_mul 48062
nfX_mul 50883
nfX_rem 48062
nfX_sub 2821
nfX_to_FqX 8470
nf_pV_to_prV 1057
nf_to_Fq 5466584
nf_to_Fq_init 745269
nfbasis 56
nfbasis_gp 56
nfcompositum 630
nfdisc 3129
nfidealdet1 63
nfmaxord 13132
nfmaxord_check_args 16261
nfmodpr 238
nfmodprinit 49
nfmodprlift 56
nfreducemodpr 182
nfsplitting 126
nilord 19509
ok_modpr 550648
p_is_prime 1022
pol_min 22652
polcompositum0 385
poldiscfactors 28
poldiscfactors_i 12012
polsymmodp 39270
pow_ei_mod_p 107314
pradical 15734
primedec_aux 597942
primedec_end 15734
redelt 7343
redelt_i 11298
rnfallbase 1589
rnfbasis 21
rnfdedekind 84
rnfdedekind_i 2849
rnfdet 21
rnfdiscf 7
rnfeltid_powmod 16919
rnfhnfbasis 7
rnfisfree 7
rnfisfree_aux 7
rnfjoinmodules 2765
rnfjoinmodules_i 5103
rnfmaxord 2765
rnfpseudobasis 49
rnfsimplifybasis 0
rnfsteinitz 28
rowred 0
rowred_long 0
safe_Z_pvalrem 203
set_disc 16261
split_char 51541
sqr_mod 176252
testb2 7805
testc2 1554
to_ff_init 751849
triv_order 889
uniformizer 41424
update_den 534856
update_fact 455
update_phi 14987
vstar 49161
zk_to_Fq 1162136
zk_to_Fq_init 6580
zkmodprinit 6602
zx_z_div 97226

Generated by: LCOV version 1.11