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.10.1 lcov report (development 22726-9e20c6a88) Lines: 2089 2249 92.9 %
Date: 2018-06-23 05:36:28 Functions: 213 221 96.4 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
RgM_mulreal 0
gdivmod 0
geval 0
gtocolrev 0
hqfeval 0
isrationalzeroscalar 0
qfbil 0
qfnorm 0
_quotfi 7
_quotri 7
gtovecrev 7
qfb_apply_ZM 7
qfbevalb 7
quotfi 7
quotri 7
tayl 7
tayl_act 7
integ_act 14
modrs 14
qfbeval 14
quotrs 14
vec_serprec 14
vecdenompol 14
_rfraccoef 21
iscomplex 21
listdeflate 21
padic_to_Q_shallow 21
qfevalb 21
swapvar_act 21
variables_vec 21
_quotrs 28
gpserprec 28
_quotsf 35
err_intformal 35
modsf 35
modsr 35
quotsf 35
quotsr 35
serdeflate 35
triv_integ 35
diffop0 42
qfeval 49
serprec 56
vdeflate 63
_quotsr 70
_quotfs 77
quotfs 77
gtovecsmallpost 84
gtovecsmallpre 84
gfrac 91
serreverse 98
gppadicprec 105
qfnorm0 105
denompol 112
centerlift0 119
liftint 119
qfeval0 161
mod_r 168
gtocol 182
QpV_to_QV 189
trunc0 217
gtocolrev0 252
gtovecrev0 266
denominator_v 280
compo 312
integ 350
vec_padicprec_relative 357
ser2rfrac 441
qf_apply_RgM 447
content0 483
gimag 539
liftint_shallow 546
bitprecision0 567
ser_inv 651
gsubstpol 686
poldeflate 714
gdeflate 812
vec_padicprec 826
lookup 833
quotrem 847
variables_vecsmall 847
divrem 896
gsubstvec 938
gtovecpost 1036
quot 1057
_quot 1106
gtrunc 1204
mkcoln 1372
padicprec_relative 2079
var2_polmod 2737
ceilr 3035
greal 3346
precision0 3500
diffop 3535
init_vectopre 3605
ser_unscale 3640
gtovecpre 3703
round0 3976
gdvd 3997
padicprec 4172
gtocol0 4333
liftpol 4634
ggrando 5348
degree 6202
gppoldegree 6496
gdiventgs 6987
var2_rfrac 7035
pollead 7275
gtovecsmall0 7392
issmall 7518
vecdenom 8064
numer 8610
padic_to_Q 8792
numerator 8890
centerliftii 9513
floor_safe 9675
ser2rfrac_i 9730
var2_aux 9772
geval_gp 10766
denom 11417
denominator 11697
_sercoef 11795
serequalXk 11802
centerlift 13720
RgX_integ 14294
mkintn 14469
deg2pol_shallow 14510
gceil 17170
derivser 18543
integser 18879
recvar 20559
mkvecsmalln 22260
liftall 26194
poldegree 29836
RgX_degree 30590
isint 36554
RgX_deflate_max 40570
RgX_deflate_order 41221
ZX_deflate_max 45111
gdiventres 45801
gvar9 60060
uu32toineg 71315
gtopoly 72086
ZX_deflate_order 77031
deriv 119287
isrealappr 134980
gge 135263
ggt 139104
qf_apply_ZM 146545
init_qf_apply 146992
ceil_safe 172837
gcvtoi 193547
uu32toi 222709
gtovec 241598
gtovec0 245707
mkvecn 253435
lift 279401
gnot 316008
gdivround 357119
RgX_cxeval 394389
scalarpol_shallow 426095
lift0 443835
imag_i 460609
lift_shallow 495226
precrealexact 511790
deg1pol 586028
polcoef 634354
gmodulss 658462
gmodulsg 843618
prec0 961062
modRr_safe 989859
_polcoef 1085574
gmodulo 1102045
polcoef_i 1149491
ground 1213077
op_ReIm 1513336
liftall_shallow 1693426
geq 1887863
gtovecsmall 2083987
gtopolyrev 2433193
_gtopoly 2505279
poleval 2589777
gsubst 2658201
deg1pol_shallow 2856586
mkpoln 2948488
isinexactreal 3146150
Itos 3327222
roundr 4103242
ser2pol_i 4482055
gprecision 4733897
gfloor 5077735
scalarpol 5614834
precCOMPLEX 5774483
glt 6092665
gdiventsg 6168448
gdivent 6170304
gle 7628159
gmodsg 7664861
real_i 8036385
gmod 8847889
numer_i 8931238
roundr_safe 9268530
denom_i 9885626
simplify 10704957
mulreal 11080929
liftpol_shallow 11180419
grndtoi 11209269
diviiround 11598948
gtrunc2n 15310347
round_i 19805259
gvar2 20630000
gmodgs 21947148
gshift 39392282
precREAL 48265271
precision 50058177
gne 60233985
_egal 62121848
_egal_i 62121848
gvar 111987808
isinexact 130996940
simplify_shallow 411898191

Generated by: LCOV version 1.13