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 20924-e159ed0) Lines: 1661 1836 90.5 %
Date: 2017-08-21 06:23:16 Functions: 141 148 95.3 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FE_matconcat 84
FpV_factorback 97461
Fpmul 23786
Fppow 121247
Lazard 19207
Lazard2 19285
Q_content 96932
Q_content_safe 103568663
Q_denom 62695088
Q_div_to_int 3360
Q_divi_to_int 15952336
Q_divmuli_to_int 2374006
Q_divq_to_int 1007224
Q_gcd 76008662
Q_mul_to_int 0
Q_muli_to_int 31215055
Q_primitive_part 11696700
Q_primpart 1389287
Q_remove_denom 11582733
R_to_Q_down 826
R_to_Q_up 826
RgM_rescale_to_int 222739
RgXQ_charpoly 14426
RgXQ_inv 24937
RgXQ_ratlift 63
RgXY_factor 84
RgXY_factor_squarefree 91
RgXY_squff 84
RgX_Frobenius_deflate 28
RgX_Rg_mul_i 58191
RgX_cmbf 4487
RgX_disc 1778
RgX_disc_aux 4837
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10901965
RgX_gcd_simple 87164
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 19285
RgX_rescale_to_int 238
RgX_resultant_all 20159
RgX_settype 81280766
RgX_simpletype 96697
RgX_sturmpart 133
RgX_type 5452627
RgX_type2 38571517
RgX_type_decode 505502
RgX_type_is_composite 817073
ZX_content 13153
_pol_0 0
c_is_rational 112
c_zero_gcd 70
caract_const 140
centermod 4814846
centermod_i 8382566
centermodii 124857100
choosetype 42818229
code 161990
cont_gcd 3071616
cont_gcd_gen 6602
cont_gcd_pol 2256919
cont_gcd_rfrac 864876
content 77337931
deg1_from_roots 84053
eltmul 4165
eltpow 16962
factor 41490
factor0 0
factorback 1322542
factorback2 15807563
fix_lcm 133
fix_pol 3290
gauss_cmp 77
gauss_factor 42
gauss_factor_p 35
gauss_gcd 126
gauss_normal 189
gauss_primpart 42
gauss_primpart_try 70
gbezout 280
gcdext0 280
gcdiq 2531446
gcdmonome 7449666
gcdqq 4301207
gdivexact 2000453
gen_factorback 15935117
ggcd 24082331
ggcd0 3960
ginvmod 2156
glcm 3066
glcm0 2891
gp_factor0 37093
idealfactorback 1806
idmul 2142
idmulred 21
idpow 3290
idpowred 623
inexact 26525458
init_resultant 59727
isinexactall 6947998
isirreducible 63
mul 35829738
must_negate 90335
newtonpoly 28
nextSousResultant 19285
nffactorback 13307
normalized_mul 416167
normalized_to_RgX 266636
padic_gcd 2684
pol_approx0 302589
poldisc0 3073
polresultant0 1862
polresultantext 840
polresultantext0 868
polsym 17654
polsym_gen 29722
powi 51615674
primitive_part 1049830
primpart 2989
reduceddiscsmith 7
reductum_lg 55300
rescale_init 1820103
resultant 51061
resultant2 8666
rnfcharpoly 224
roots_from_deg1 980
roots_to_pol 241207
roots_to_pol_r1 25464
s_centermod 0
scalar_bezout 112
scalar_res 0
settype 270576832
sturmpart 840
sturmpart_i 840
subres_step 53768
subresext 0
subresext_i 25805
sylvester_col 72100
sylvestermatrix 7
sylvestermatrix_i 8673
triv_cont_gcd 357
vec_Q_primpart 98806
vecprod 14
zero_bezout 63
zero_extgcd 28
zero_gcd 8197638
zero_gcd2 8749163

Generated by: LCOV version 1.11