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 21501-1931cb9) Lines: 1734 1922 90.2 %
Date: 2017-12-16 06:20:36 Functions: 150 157 95.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
FE_matconcat 84
FpV_factorback 3294555
Fpmul 15891120
Fppow 117362
Lazard 19333
Lazard2 19649
Q_content 93560
Q_content_safe 135086146
Q_denom 47729011
Q_div_to_int 6878
Q_divi_to_int 15963559
Q_divmuli_to_int 8265600
Q_divq_to_int 2946750
Q_gcd 100672064
Q_mul_to_int 0
Q_muli_to_int 40767194
Q_primitive_part 14332278
Q_primpart 1421907
Q_remove_denom 7833372
R_to_Q_down 826
R_to_Q_up 826
RgM_rescale_to_int 222522
RgM_settype 4932630
RgM_type 58798
RgM_type2 2437133
RgXQ_charpoly 14433
RgXQ_inv 18658
RgXQ_inv_FpXQ 1015
RgXQ_inv_FpXQXQ 7
RgXQ_inv_fast 18658
RgXQ_inv_i 874
RgXQ_ratlift 70
RgXY_factor 84
RgXY_factor_squarefree 91
RgXY_squff 84
RgX_Frobenius_deflate 28
RgX_Rg_mul_i 59262
RgX_cmbf 4487
RgX_disc 1848
RgX_disc_aux 4907
RgX_extgcd 343
RgX_extgcd_simple 0
RgX_gcd 10895973
RgX_gcd_simple 87164
RgX_is_irred 63
RgX_is_irred_i 63
RgX_neg_i 19649
RgX_rescale_to_int 238
RgX_resultant_all 20278
RgX_settype 114845749
RgX_simpletype 96886
RgX_sturmpart 133
RgX_type 16057528
RgX_type2 47124508
RgX_type_decode 400701
RgX_type_is_composite 2296230
Rg_type 5943259
ZX_content 38343
Z_content 2292208
_pol_0 0
c_is_rational 112
c_zero_gcd 70
caract_const 140
centermod 4789862
centermod_i 7342855
centermodii 99650776
choosetype 70401633
code 202531
cont_gcd 3071742
cont_gcd_gen 6728
cont_gcd_pol 2256919
cont_gcd_rfrac 864876
content 77292575
deg1_from_roots 83353
eltmul 4179
eltpow 16976
factor 41242
factor0 0
factorback 1381813
factorback2 16117703
fix_lcm 133
fix_pol 3458
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 9591286
gcdmonome 7444024
gcdqq 10593416
gdivexact 1888499
gen_factorback 19439509
ggcd 24068866
ggcd0 3952
ginvmod 3073
glcm 3094
glcm0 2891
gp_factor0 37125
idealfactorback 1806
idmul 2142
idmulred 21
idpow 3290
idpowred 623
inexact 26514258
init_resultant 59762
isinexactall 6944624
isirreducible 63
mul 36134830
must_negate 90188
newtonpoly 28
nextSousResultant 19649
nffactorback 13307
normalized_mul 579912
normalized_to_RgX 285943
padic_gcd 2684
pol_approx0 302589
poldisc0 3073
polresultant0 1946
polresultantext 847
polresultantext0 875
polsym 17563
polsym_gen 29631
powi 52223227
primitive_part 1002052
primpart 2835
reduceddiscsmith 7
reductum_lg 56357
rescale_init 1826319
resultant 51138
resultant2 8624
rnfcharpoly 224
roots_from_deg1 980
roots_to_pol 245891
roots_to_pol_r1 40087
s_centermod 0
scalar_bezout 112
scalar_res 0
settype 497467786
sturmpart 840
sturmpart_i 840
subres_step 5172
subresext 0
subresext_i 1749
sylvester_col 72016
sylvestermatrix 7
sylvestermatrix_i 8631
triv_cont_gcd 357
vec_Q_primpart 66550
vecprod 14
zero_bezout 63
zero_extgcd 28
zero_gcd 8198338
zero_gcd2 8749534

Generated by: LCOV version 1.11