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-bordeaux1.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 18586-b372913) Lines: 1501 1730 86.8 %
Date: 2016-02-08 Functions: 122 133 91.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1152 1592 72.4 %

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 49
Fpmul 0
Fppow 49
Lazard 63784
Lazard2 110845
Q_content 85267055
Q_denom 14560915
Q_div_to_int 3682
Q_divi_to_int 12930365
Q_divmuli_to_int 44219
Q_divq_to_int 160456
Q_gcd 61311760
Q_mul_to_int 0
Q_muli_to_int 10584452
Q_primitive_part 10741780
Q_primpart 1213945
Q_remove_denom 1588422
RgXQ_charpoly 57939
RgXQ_inv 138230
RgXQ_ratlift 56
RgX_Rg_mul_i 332276
RgX_disc 1113
RgX_disc_aux 4130
RgX_extgcd 315
RgX_extgcd_simple 0
RgX_gcd 10629252
RgX_gcd_simple 770
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 110845
RgX_resultant_all 65016
RgX_simpletype 178267
RgX_sturmpart 0
RgX_type 338522
RgX_type_decode 147
RgX_type_is_composite 336247
ZX_content 14455
_pol_0 0
c_is_rational 56
c_zero_gcd 28
caract_const 119
centermod 4692315
centermod_i 7245613
centermodii 103360888
code 175
cont_gcd 3135690
cont_gcd_gen 10920
cont_gcd_pol 2316374
cont_gcd_rfrac 864906
content 73670432
deg1_from_roots 39018
eltmul 2974
eltpow 4682
exact_sturm 1491
factor 39842
factor0 0
factorback 214369
factorback2 668594
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 273
gcdext0 273
gcdiq 507795
gcdmonome 7155536
gcdqq 1171899
gdivexact 4162225
gen_factorback 674950
ggcd 21742326
ggcd0 3770
ginvmod 4676
glcm 3101
glcm0 2877
gp_factor0 36929
idealfactorback 875
idmul 147
idmulred 0
idpow 966
idpowred 56
inexact 26059858
init_resultant 87520
is_rational 105
isinexactall 6979716
isirreducible 63
mul 1290822
must_negate 3234
newtonpoly 7
nextSousResultant 110845
nffactorback 2184
normalized_mul 472828
normalized_to_RgX 321078
padic_gcd 133
pol_approx0 2079
poldisc0 3031
polresultant0 1323
polresultantext 763
polresultantext0 791
polsym 8491
polsym_gen 23919
powi 1958809
primitive_part 1485653
primpart 3108
reduceddiscsmith 7
reductum_lg 329399
resultant2 21
resultant_all 87499
rnfcharpoly 224
roots_from_deg1 959
roots_to_pol 296300
roots_to_pol_r1 24778
s_centermod 0
scal_lcm 2898
scalar_bezout 112
scalar_res 0
sturmpart 770
sturmpart_i 770
subres_step 259284
subresext 0
subresext_i 139021
sylvester_col 133
sylvestermatrix 7
sylvestermatrix_i 28
triv_cont_gcd 357
vec_lcm 0
zero_bezout 63
zero_extgcd 28
zero_gcd 8175338

Generated by: LCOV version 1.9