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.8.0 lcov report (development 19361-ac4f238) Lines: 1494 1738 86.0 %
Date: 2016-08-28 06:11:39 Functions: 122 133 91.7 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 49
Fpmul 0
Fppow 49
Lazard 64792
Lazard2 113701
Q_content 81752967
Q_denom 23014534
Q_div_to_int 2086
Q_divi_to_int 10132671
Q_divmuli_to_int 146629
Q_divq_to_int 164862
Q_gcd 58624853
Q_mul_to_int 0
Q_muli_to_int 11189663
Q_primitive_part 10533226
Q_primpart 1239912
Q_remove_denom 3180157
RgXQ_charpoly 59409
RgXQ_inv 15716
RgXQ_ratlift 56
RgX_Rg_mul_i 340844
RgX_disc 1176
RgX_disc_aux 4235
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10611010
RgX_gcd_simple 777
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 113701
RgX_resultant_all 65555
RgX_simpletype 178827
RgX_sturmpart 0
RgX_type 442398
RgX_type_decode 140
RgX_type_is_composite 336789
ZX_content 13153
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 133
centermod 4832676
centermod_i 7386549
centermodii 117423945
code 175
cont_gcd 3135704
cont_gcd_gen 10962
cont_gcd_pol 2316346
cont_gcd_rfrac 864892
content 73376606
deg1_from_roots 39263
eltmul 2779
eltpow 4494
exact_sturm 1603
factor 39946
factor0 0
factorback 1157193
factorback2 1611739
fix_lcm 63
fix_pol 2254
gauss_cmp 77
gauss_factor 42
gauss_factor_p 35
gauss_gcd 49
gauss_normal 112
gauss_primpart 42
gauss_primpart_try 70
gbezout 280
gcdext0 280
gcdiq 792297
gcdmonome 7153730
gcdqq 1124834
gdivexact 3254542
gen_factorback 1623324
ggcd 21599540
ggcd0 3798
ginvmod 4669
glcm 3150
glcm0 2884
gp_factor0 36949
idealfactorback 6097
idmul 7
idmulred 0
idpow 6048
idpowred 56
inexact 25904374
init_resultant 87772
isinexactall 6946858
isirreducible 63
mul 2646152
must_negate 3178
newtonpoly 28
nextSousResultant 113701
nffactorback 2191
normalized_mul 412981
normalized_to_RgX 260513
padic_gcd 147
pol_approx0 2107
poldisc0 3073
polresultant0 1323
polresultantext 840
polresultantext0 868
polsym 8120
polsym_gen 23611
powi 4247366
primitive_part 1172318
primpart 3101
reduceddiscsmith 7
reductum_lg 337974
resultant2 21
resultant_all 87751
rnfcharpoly 224
roots_from_deg1 959
roots_to_pol 235672
roots_to_pol_r1 24841
s_centermod 0
scal_lcm 2905
scalar_bezout 112
scalar_res 0
sturmpart 833
sturmpart_i 833
subres_step 29149
subresext 0
subresext_i 16584
sylvester_col 133
sylvestermatrix 7
sylvestermatrix_i 28
triv_cont_gcd 357
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8166337
zero_gcd2 8155571

Generated by: LCOV version 1.11