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 16624-25b9976) Lines: 1519 1671 90.9 %
Date: 2014-06-24 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 3316843
FFT 0
FFTinit 0
QX_complex_roots 6196
RUgen 66985
RgX_addspec 56479
RgX_gtofp_bit 269287
RgX_s_mulspec 0
RgX_shiftspec 0
X2XP1 34824
ZX_graeffe 3200
ZX_sturm 2565
ZX_sturmpart 65
ZX_uspensky 4224
_gen_nored 324817
_gen_one 383133
_gen_zero 5161
_intervalcmp 0
_mp_add 1159653
_mp_cmul 1414450
_mp_mul 254973
_mp_sqr 263137
a_posteriori_errors 6839
abs_update 443808
abs_update_r 22242
addCC 6053982
all_roots 6721
append_clone 35625
bkeval_single_power 129979
check_ab 1689
checkbound 200
checkvalidpol 530
clean_roots 6721
cleanroots 115
cmp_complex_appr 99064
conformal_mapping 14107
conformal_pol 42321
cook_square 3204230
dblexp 245839
dbllog2 12623131
dbllog2mp 2491346
dft 16571
dual_modulus 33644
eval_rel_pol 507725
fft 1035892
findpower 1232797
fix_roots 6839
fix_roots1 3920
fujiwara_bound 46977
fujiwara_bound_real 4800
graeffe 1602115
homothetie 56543
homothetie2n 345608
homothetie_gauss 1100864
ind_maxlog2 27170
initRU 32033
initRUgen 2919
isexactpol 525
isexactscalar 1691
isreal 29569
isvalidcoeff 2294
karasquare 3373667
logmax_modulus 131933
logmax_modulus_bound 320
logmin_modulus 46593
logmodulus 23485
logpre_modulus 23485
logradius 15462
lower_bound 1232797
mulCC 11492894
mydbllog2i 9103677
mydbllog2r 5002056
mydbllogr 496525
mygprec 2611274
mygprec_absolute 111076
mygprec_special 6839
mygprecrc 9830130
mygprecrc_special 54920
myreal_1 252427
myshiftic 5401111
myshiftrc 1475417
newton_polygon 213675
optimize_split 15462
parameters 15462
pol_to_gaussint 639658
polgraeffe 10
polmod_to_embed 55
polsolve 4079
quicktofp 221467
realroots 1624
refine_F 16571
refine_H 82634
root_error 48051
roots 430
roots_aux 545
roots_com 525
rootsdeg0 25
scalepol 131028
scalepol2n 0
set_karasquare_limit 1602115
solve_exact_pol 387
split_0 15462
split_0_1 14107
split_0_2 14107
split_1 14107
split_2 15462
split_complete 37763
split_fromU 15462
split_polynoms 4079
splitpoleval 129979
sqrCC 9536203
tocomplex 31476
update_radius 15462
usp 4164

Generated by: LCOV version 1.9