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-bordeaux1.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 - rootpol.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 16746-c2cb716) Lines: 1519 1671 90.9 %
Date: 2014-08-31 Functions: 108 114 94.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 858 1037 82.7 %

Function Name Sort by function name Hit count Sort by hit count
CX_square_spec 3259635
FFT 0
FFTinit 0
QX_complex_roots 6062
RUgen 65946
RgX_addspec 56278
RgX_gtofp_bit 263968
RgX_s_mulspec 0
RgX_shiftspec 0
X2XP1 34417
ZX_graeffe 3200
ZX_sturm 2550
ZX_sturmpart 65
ZX_uspensky 4171
_gen_nored 332344
_gen_one 391336
_gen_zero 5430
_intervalcmp 0
_mp_add 1178411
_mp_cmul 1439445
_mp_mul 258054
_mp_sqr 266027
a_posteriori_errors 6731
abs_update 436812
abs_update_r 22024
addCC 5990062
all_roots 6613
append_clone 34962
bkeval_single_power 133232
check_ab 1651
checkbound 200
checkvalidpol 556
clean_roots 6613
cleanroots 115
cmp_complex_appr 97645
conformal_mapping 13853
conformal_pol 41559
cook_square 3147424
dblexp 241828
dbllog2 12458415
dbllog2mp 2433662
dft 16319
dual_modulus 33106
eval_rel_pol 498683
fft 1022709
findpower 1211059
fix_roots 6731
fix_roots1 3849
fujiwara_bound 46685
fujiwara_bound_real 4703
graeffe 1573712
homothetie 55556
homothetie2n 338826
homothetie_gauss 1081457
ind_maxlog2 26678
initRU 31532
initRUgen 2882
isexactpol 551
isexactscalar 1699
isreal 29066
isvalidcoeff 2334
karasquare 3316258
logmax_modulus 129602
logmax_modulus_bound 320
logmin_modulus 45766
logmodulus 23035
logpre_modulus 23035
logradius 15213
lower_bound 1211059
mulCC 11343560
mydbllog2i 8932817
mydbllog2r 4977602
mydbllogr 488540
mygprec 2592022
mygprec_absolute 108853
mygprec_special 6731
mygprecrc 9724342
mygprecrc_special 54054
myreal_1 248078
myshiftic 5309719
myshiftrc 1448647
newton_polygon 209224
optimize_split 15213
parameters 15213
pol_to_gaussint 628285
polgraeffe 10
polmod_to_embed 55
polsolve 3994
quicktofp 219960
realroots 1586
refine_F 16319
refine_H 82397
root_error 47293
roots 456
roots_aux 571
roots_com 551
rootsdeg0 25
scalepol 128757
scalepol2n 0
set_karasquare_limit 1573712
solve_exact_pol 381
split_0 15213
split_0_1 13853
split_0_2 13853
split_1 13853
split_2 15213
split_complete 37157
split_fromU 15213
split_polynoms 3994
splitpoleval 133232
sqrCC 9382785
tocomplex 30772
update_radius 15213
usp 4073

Generated by: LCOV version 1.9