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 - polarit2.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.10.0 lcov report (development 20459-9710128) Lines: 1508 1704 88.5 %
Date: 2017-04-29 05:33:44 Functions: 132 139 95.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 798
Fpmul 66
Fppow 864
Lazard 17148
Lazard2 16794
Q_content 57782652
Q_denom 29470905
Q_div_to_int 1572
Q_divi_to_int 9122328
Q_divmuli_to_int 121716
Q_divq_to_int 137274
Q_gcd 40780416
Q_mul_to_int 0
Q_muli_to_int 10065996
Q_primitive_part 8289222
Q_primpart 1126884
Q_remove_denom 3178040
R_to_Q_down 702
R_to_Q_up 702
RgM_rescale_to_int 183612
RgXQ_charpoly 12378
RgXQ_inv 17898
RgXQ_ratlift 48
RgX_Rg_mul_i 50730
RgX_disc 1086
RgX_disc_aux 3708
RgX_extgcd 294
RgX_extgcd_simple 0
RgX_gcd 8689356
RgX_gcd_simple 666
RgX_is_irred 54
RgX_is_irred_i 54
RgX_neg_i 16794
RgX_rescale_to_int 204
RgX_resultant_all 17778
RgX_simpletype 84312
RgX_sturmpart 114
RgX_type 815892
RgX_type_decode 12660
RgX_type_is_composite 597198
ZX_content 11274
_pol_0 0
c_is_rational 30
c_zero_gcd 42
caract_const 114
centermod 4016761
centermod_i 6296035
centermodii 62198353
choosetype 492870
code 12486
cont_gcd 2522088
cont_gcd_gen 7860
cont_gcd_pol 1844010
cont_gcd_rfrac 711822
content 63225414
deg1_from_roots 69534
eltmul 3570
eltpow 14538
factor 34902
factor0 0
factorback 989948
factorback2 1380126
fix_lcm 114
fix_pol 1932
gauss_cmp 66
gauss_factor 36
gauss_factor_p 30
gauss_gcd 24
gauss_normal 78
gauss_primpart 36
gauss_primpart_try 60
gbezout 240
gcdext0 240
gcdiq 505482
gcdmonome 5808138
gcdqq 467610
gdivexact 1553586
gen_factorback 1403784
ggcd 17597710
ggcd0 3388
ginvmod 3090
glcm 2628
glcm0 2478
gp_factor0 31697
idealfactorback 978
idmul 132
idmulred 18
idpow 558
idpowred 534
inexact 21478776
init_resultant 52014
isinexactall 5790120
isirreducible 54
mul 2268412
must_negate 2724
newtonpoly 24
nextSousResultant 16794
nffactorback 11406
normalized_mul 369522
normalized_to_RgX 238278
padic_gcd 132
pol_approx0 1806
poldisc0 2634
polresultant0 1134
polresultantext 720
polresultantext0 744
polsym 7596
polsym_gen 17172
powi 3639446
primitive_part 869388
primpart 1908
reduceddiscsmith 6
reductum_lg 48264
rescale_init 1501272
resultant2 7428
resultant_all 44586
rnfcharpoly 192
roots_from_deg1 840
roots_to_pol 217032
roots_to_pol_r1 21276
s_centermod 0
scalar_bezout 96
scalar_res 0
settype 2576646
sturmpart 714
sturmpart_i 714
subres_step 38892
subresext 0
subresext_i 18642
sylvester_col 61800
sylvestermatrix 6
sylvestermatrix_i 7434
triv_cont_gcd 306
vec_Q_primpart 89316
vecprod 12
zero_bezout 54
zero_extgcd 24
zero_gcd 6744432
zero_gcd2 6737124

Generated by: LCOV version 1.11