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 20091-343fe20) Lines: 1506 1702 88.5 %
Date: 2017-01-20 05:50:06 Functions: 132 139 95.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 707
Fpmul 77
Fppow 784
Lazard 65820
Lazard2 111230
Q_content 70559829
Q_denom 28495937
Q_div_to_int 1848
Q_divi_to_int 9883503
Q_divmuli_to_int 146419
Q_divq_to_int 169877
Q_gcd 50065918
Q_mul_to_int 0
Q_muli_to_int 12372127
Q_primitive_part 9811990
Q_primpart 1153405
Q_remove_denom 2042895
R_to_Q_down 819
R_to_Q_up 819
RgM_rescale_to_int 239525
RgXQ_charpoly 60297
RgXQ_inv 11504
RgXQ_ratlift 56
RgX_Rg_mul_i 333564
RgX_disc 1267
RgX_disc_aux 4326
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10610351
RgX_gcd_simple 777
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 111230
RgX_rescale_to_int 238
RgX_resultant_all 66555
RgX_simpletype 190544
RgX_sturmpart 133
RgX_type 627485
RgX_type_decode 14756
RgX_type_is_composite 372321
ZX_content 13153
_pol_0 0
c_is_rational 56
c_zero_gcd 49
caract_const 133
centermod 4747557
centermod_i 7300847
centermodii 104672946
choosetype 619260
code 14553
cont_gcd 3135949
cont_gcd_gen 10655
cont_gcd_pol 2316898
cont_gcd_rfrac 864892
content 73410355
deg1_from_roots 80693
eltmul 6572
eltpow 32179
factor 40731
factor0 0
factorback 1152124
factorback2 1607224
fix_lcm 133
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 727003
gcdmonome 7153221
gcdqq 986398
gdivexact 2873122
gen_factorback 1644030
ggcd 21616690
ggcd0 3616
ginvmod 3553
glcm 3066
glcm0 2891
gp_factor0 36972
idealfactorback 1106
idmul 154
idmulred 21
idpow 630
idpowred 623
inexact 25903548
init_resultant 106773
isinexactall 6946558
isirreducible 63
mul 2638739
must_negate 3178
newtonpoly 28
nextSousResultant 111230
nffactorback 26117
normalized_mul 427793
normalized_to_RgX 275000
padic_gcd 154
pol_approx0 2107
poldisc0 3073
polresultant0 1323
polresultantext 840
polresultantext0 868
polsym 8750
polsym_gen 19922
powi 4235415
primitive_part 1135616
primpart 2240
reduceddiscsmith 7
reductum_lg 330701
rescale_init 1865540
resultant2 8666
resultant_all 98107
rnfcharpoly 224
roots_from_deg1 980
roots_to_pol 250229
roots_to_pol_r1 24806
s_centermod 0
scalar_bezout 112
scalar_res 0
settype 3362301
sturmpart 833
sturmpart_i 833
subres_step 25026
subresext 0
subresext_i 12372
sylvester_col 72100
sylvestermatrix 7
sylvestermatrix_i 8673
triv_cont_gcd 357
vec_Q_primpart 3309
vecprod 14
zero_bezout 63
zero_extgcd 28
zero_gcd 8189903
zero_gcd2 8179808

Generated by: LCOV version 1.11