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 - gen3.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.8.0 lcov report (development 18894-f1ef88e) Lines: 2025 2213 91.5 %
Date: 2016-05-03 Functions: 199 208 95.7 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 1549 1956 79.2 %

Function Name Sort by function name Hit count Sort by hit count
Itos 944737
QpV_to_QV 56
RgM_mulreal 0
RgX_RgM_eval_col 0
RgX_cxeval 282107
RgX_deflate_max 35460
RgX_deflate_order 35572
RgX_degree 22169
RgX_integ 98
_egal 22239264
_egal_i 22239264
_gtopoly 2492588
_polcoeff 193158
_quot 602
_quotfi 7
_quotfs 77
_quotri 7
_quotrs 28
_quotsf 35
_quotsr 70
_rfraccoeff 21
_sercoeff 1316
bitprecision0 28
ceil_safe 63381
ceilr 14499
centerlift 12439
centerlift0 98
centerliftii 10066
coefstoser 7
compo 312
deg1pol 288952
deg1pol_shallow 1718605
degree 0
denom 9171330
deriv 104195
derivser 9807
diffop 3535
diffop0 42
diviiround 10997105
divrem 896
err_intformal 35
floor_safe 7779
gceil 26940
gcvtoi 82202
gdeflate 210
gdivent 6085905
gdiventgs 1429
gdiventres 20979
gdiventsg 6084077
gdivmod 0
gdivround 496531
gdvd 3850
geq 1218369
geval 0
geval_gp 10129
gfloor 4044802
gfrac 91
gge 124174
ggrando 4613
ggt 132356
gimag 2497
gle 7721023
glt 6211586
gmod 7428694
gmodgs 13788
gmodsg 7122018
gmodulo 822556
gmodulsg 695239
gmodulss 600210
gne 21020895
gnot 259427
gppoldegree 4235
gprecision 2627108
greal 81608
grndtoi 8253885
ground 958071
gshift 37259255
gsubst 200374
gsubst_expr 35
gsubstpol 84
gsubstvec 756
gtocol 182
gtocol0 1197
gtocolrev 0
gtocolrev0 252
gtopoly 68180
gtopolyrev 2424408
gtoser 106687
gtovec 230713
gtovec0 231903
gtovecpost 1141
gtovecpre 343
gtovecrev 7
gtovecrev0 266
gtovecsmall 485863
gtovecsmall0 13447
gtovecsmallpost 84
gtovecsmallpre 84
gtrunc 882
gtrunc2n 10079961
gvar 98832071
gvar2 19903591
gvar9 45759
hqfeval 0
imag_i 351445
init_qf_apply 145544
init_vectopre 245
integ 350
integ_act 14
integser 10325
inv_ser 294
iscomplex 21
isinexact 128552467
isinexactreal 13048
isint 24269
isrationalzeroscalar 0
isrealappr 79226
issmall 7469
lift 135385
lift0 223540
lift_intern 216443
liftall 70
liftall_shallow 644
liftint 112
liftint_shallow 511
liftpol 91
liftpol_shallow 137543
listdeflate 21
lookup 833
mkcoln 0
mkintn 8827
mkpoln 1358773
mkvecn 16443
mkvecsmalln 2327
mod_r 168
modr_safe 450135
modrs 14
modsf 35
modsr 35
mulreal 11026144
multi_coeff 41965
numer 8236535
op_ReIm 1141981
padic_to_Q 7959
padic_to_Q_shallow 7
padicprec 126
padicprec_relative 770
polcoeff0 53550
polcoeff_i 186718
poldeflate 112
poldegree 7859
poleval 668119
pollead 3425
poltoser 108108
prec0 10529
precCOMPLEX 1951536
precREAL 919116
precision 1271507
precision0 3192
precrealexact 326705
qf_apply_RgM 490
qf_apply_ZM 145054
qfbil 42
qfeval 21
qfevalb 21
qfnorm 56
quot 553
quotfi 7
quotfs 77
quotrem 343
quotri 7
quotrs 14
quotsf 35
quotsr 35
real_i 6461512
recvar 329
rfractoser 106106
round0 3486
round_i 15621405
roundr 1379563
roundr_safe 9606435
scalarpol 5172285
scalarpol_shallow 241438
scalarser 120848
ser2pol_i 3296195
ser2rfrac 252
ser2rfrac_i 3332
ser_unscale 602
serdeflate 35
serreverse 49
simplify 10849316
simplify_shallow 297255762
swapvar_act 21
tayl 7
tayl_act 7
toser_i 652581
triv_integ 35
trunc0 217
uu32toi 107945
var2_aux 8421
var2_polmod 1386
var2_rfrac 7035
variables_vec 14
variables_vecsmall 7
vdeflate 63
vec_padicprec 21
vec_padicprec_relative 224
vecdenom 777

Generated by: LCOV version 1.9