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 19837-cc815bb) Lines: 1497 1717 87.2 %
Date: 2016-12-10 05:49:10 Functions: 126 134 94.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FpV_factorback 77
Fpmul 14
Fppow 91
Lazard 65255
Lazard2 111209
Q_content 69248551
Q_denom 21623194
Q_div_to_int 1848
Q_divi_to_int 9662262
Q_divmuli_to_int 146398
Q_divq_to_int 169961
Q_gcd 49195192
Q_mul_to_int 0
Q_muli_to_int 12223074
Q_primitive_part 9666950
Q_primpart 1125244
Q_remove_denom 1946839
RgXQ_charpoly 59739
RgXQ_inv 10846
RgXQ_ratlift 56
RgX_Rg_mul_i 333501
RgX_disc 1232
RgX_disc_aux 4291
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10611030
RgX_gcd_simple 777
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 111209
RgX_resultant_all 65983
RgX_simpletype 189344
RgX_sturmpart 0
RgX_type 578485
RgX_type_decode 14441
RgX_type_is_composite 325288
ZX_content 13153
_pol_0 0
c_is_rational 56
c_zero_gcd 49
caract_const 133
centermod 4736427
centermod_i 7289379
centermodii 103995525
choosetype 570365
code 14238
cont_gcd 3136280
cont_gcd_gen 11033
cont_gcd_pol 2316851
cont_gcd_rfrac 864892
content 73315160
deg1_from_roots 80581
eltmul 3016
eltpow 4928
exact_sturm 1575
factor 39681
factor0 0
factorback 1150746
factorback2 1605818
fix_lcm 126
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 727017
gcdmonome 7153767
gcdqq 986461
gdivexact 2863343
gen_factorback 1612650
ggcd 21597213
ggcd0 4596
ginvmod 3518
glcm 3066
glcm0 2884
gp_factor0 36949
idealfactorback 1085
idmul 140
idmulred 21
idpow 595
idpowred 623
inexact 25904059
init_resultant 106173
isinexactall 6946824
isirreducible 63
mul 2638333
must_negate 3178
newtonpoly 28
nextSousResultant 111209
nffactorback 2422
normalized_mul 415661
normalized_to_RgX 263318
padic_gcd 154
pol_approx0 2107
poldisc0 3073
polresultant0 1323
polresultantext 840
polresultantext0 868
polsym 8421
polsym_gen 19593
powi 4233617
primitive_part 1109559
primpart 3087
reduceddiscsmith 7
reductum_lg 330638
resultant2 8666
resultant_all 97507
rnfcharpoly 224
roots_from_deg1 896
roots_to_pol 238547
roots_to_pol_r1 24806
s_centermod 0
scalar_bezout 112
scalar_res 0
settype 2613588
sturmpart 819
sturmpart_i 819
subres_step 24116
subresext 0
subresext_i 11714
sylvester_col 72100
sylvestermatrix 7
sylvestermatrix_i 8673
triv_cont_gcd 357
vec_Q_primpart 3309
zero_bezout 63
zero_extgcd 28
zero_gcd 8165928
zero_gcd2 8154972

Generated by: LCOV version 1.11