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 20277-2bd9113) Lines: 1507 1704 88.4 %
Date: 2017-02-21 05:49:51 Functions: 132 139 95.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 749
Fpmul 77
Fppow 826
Lazard 64707
Lazard2 109011
Q_content 70560292
Q_denom 29313572
Q_div_to_int 1848
Q_divi_to_int 9851226
Q_divmuli_to_int 146419
Q_divq_to_int 175939
Q_gcd 50105844
Q_mul_to_int 0
Q_muli_to_int 12561718
Q_primitive_part 9804932
Q_primpart 1154845
Q_remove_denom 2036696
R_to_Q_down 819
R_to_Q_up 819
RgM_rescale_to_int 238230
RgXQ_charpoly 59184
RgXQ_inv 20828
RgXQ_ratlift 56
RgX_Rg_mul_i 326907
RgX_disc 1267
RgX_disc_aux 4326
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10814324
RgX_gcd_simple 777
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 109011
RgX_rescale_to_int 238
RgX_resultant_all 65442
RgX_simpletype 188360
RgX_sturmpart 133
RgX_type 952005
RgX_type_decode 14770
RgX_type_is_composite 696820
ZX_content 13153
_pol_0 0
c_is_rational 35
c_zero_gcd 49
caract_const 133
centermod 4735891
centermod_i 7289652
centermodii 104403379
choosetype 575146
code 14567
cont_gcd 3133548
cont_gcd_gen 9451
cont_gcd_pol 2315701
cont_gcd_rfrac 864892
content 76442104
deg1_from_roots 81078
eltmul 6495
eltpow 31514
factor 40759
factor0 0
factorback 1164045
factorback2 1619144
fix_lcm 133
fix_pol 2254
gauss_cmp 77
gauss_factor 42
gauss_factor_p 35
gauss_gcd 28
gauss_normal 91
gauss_primpart 42
gauss_primpart_try 70
gbezout 280
gcdext0 280
gcdiq 747625
gcdmonome 7359350
gcdqq 1111747
gdivexact 2856147
gen_factorback 1658757
ggcd 21601682
ggcd0 3616
ginvmod 3588
glcm 3066
glcm0 2891
gp_factor0 36979
idealfactorback 1113
idmul 154
idmulred 21
idpow 630
idpowred 623
inexact 25884067
init_resultant 105681
isinexactall 6942246
isirreducible 63
mul 2658316
must_negate 3178
newtonpoly 28
nextSousResultant 109011
nffactorback 25529
normalized_mul 428059
normalized_to_RgX 275045
padic_gcd 154
pol_approx0 2107
poldisc0 3073
polresultant0 1323
polresultantext 840
polresultantext0 868
polsym 8757
polsym_gen 19929
powi 4266908
primitive_part 1151541
primpart 2226
reduceddiscsmith 7
reductum_lg 324044
rescale_init 1859352
resultant2 8666
resultant_all 97015
rnfcharpoly 224
roots_from_deg1 980
roots_to_pol 250274
roots_to_pol_r1 24806
s_centermod 0
scalar_bezout 112
scalar_res 0
settype 3006596
sturmpart 833
sturmpart_i 833
subres_step 45284
subresext 0
subresext_i 21696
sylvester_col 72100
sylvestermatrix 7
sylvestermatrix_i 8673
triv_cont_gcd 357
vec_Q_primpart 3555
vecprod 14
zero_bezout 63
zero_extgcd 28
zero_gcd 8187201
zero_gcd2 8178352

Generated by: LCOV version 1.11