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 21352-4be8729) Lines: 1737 1924 90.3 %
Date: 2017-11-23 06:21:03 Functions: 150 157 95.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Q_mul_to_int 0
RgX_extgcd_simple 0
_pol_0 0
factor0 0
s_centermod 0
scalar_res 0
subresext 0
RgXQ_inv_FpXQXQ 7
reduceddiscsmith 7
sylvestermatrix 7
vecprod 14
idmulred 21
RgX_Frobenius_deflate 28
newtonpoly 28
zero_extgcd 28
gauss_factor_p 35
gauss_factor 42
gauss_primpart 42
RgX_is_irred 63
RgX_is_irred_i 63
isirreducible 63
zero_bezout 63
RgXQ_ratlift 70
c_zero_gcd 70
gauss_primpart_try 70
gauss_cmp 77
FE_matconcat 84
RgXY_factor 84
RgXY_squff 84
RgXY_factor_squarefree 91
c_is_rational 112
scalar_bezout 112
gauss_gcd 126
RgX_sturmpart 133
fix_lcm 133
caract_const 140
gauss_normal 189
rnfcharpoly 224
RgX_rescale_to_int 238
gbezout 280
gcdext0 280
RgX_extgcd 343
triv_cont_gcd 357
idpowred 623
R_to_Q_down 826
R_to_Q_up 826
polresultantext 840
sturmpart 840
sturmpart_i 840
RgXQ_inv_FpXQ 847
polresultantext0 868
RgXQ_inv_i 874
roots_from_deg1 980
subresext_i 1742
idealfactorback 1806
RgX_disc 1848
polresultant0 1904
idmul 2142
padic_gcd 2684
primpart 2835
glcm0 2891
ginvmod 3073
poldisc0 3073
glcm 3094
idpow 3290
fix_pol 3374
ggcd0 3960
eltmul 4179
RgX_cmbf 4487
RgX_disc_aux 4907
subres_step 5158
cont_gcd_gen 6728
Q_div_to_int 6878
resultant2 8624
sylvestermatrix_i 8631
nffactorback 13307
RgXQ_charpoly 14433
eltpow 16976
polsym 17563
RgXQ_inv 18490
RgXQ_inv_fast 18490
Lazard 19277
Lazard2 19509
RgX_neg_i 19509
nextSousResultant 19509
RgX_resultant_all 20236
polsym_gen 29631
gp_factor0 37128
ZX_content 38343
roots_to_pol_r1 40087
factor 41244
resultant 51096
reductum_lg 55951
RgM_type 56481
RgX_Rg_mul_i 58856
init_resultant 59720
vec_Q_primpart 68461
sylvester_col 72016
deg1_from_roots 84053
RgX_gcd_simple 87164
must_negate 90188
Q_content 93560
RgX_simpletype 96802
Fppow 117131
code 202503
RgM_rescale_to_int 222522
roots_to_pol 245485
normalized_to_RgX 285537
pol_approx0 302589
RgX_type_decode 400687
normalized_mul 579499
cont_gcd_rfrac 864876
primitive_part 1001800
FpV_factorback 1286328
factorback 1322106
Q_primpart 1440436
rescale_init 1826319
gdivexact 1889087
cont_gcd_pol 2256919
RgX_type_is_composite 2295544
RgM_type2 2308053
Z_content 2498869
Q_divq_to_int 2944419
cont_gcd 3071742
RgM_settype 4672153
centermod 4789852
Rg_type 5939549
isinexactall 6944498
gcdmonome 7444024
Q_remove_denom 7814341
zero_gcd 8197813
Q_divmuli_to_int 8265271
centermod_i 8357083
zero_gcd2 8749247
Fpmul 9304933
gcdiq 9565778
gcdqq 10567824
RgX_gcd 10895910
Q_primitive_part 14342897
factorback2 16059092
Q_divi_to_int 16133547
RgX_type 16893663
gen_factorback 17372671
ggcd 24064954
inexact 26513880
mul 36056028
Q_muli_to_int 40382587
Q_denom 46894362
RgX_type2 47134331
powi 52085722
choosetype 71113083
content 77292386
Q_gcd 100944483
centermodii 111886520
RgX_settype 115698440
Q_content_safe 135348933
settype 520553310

Generated by: LCOV version 1.11