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 to exceed 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.16.2 lcov report (development 29115-f22e516b23) Lines: 2408 2615 92.1 %
Date: 2024-03-28 08:06:56 Functions: 231 242 95.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Itos 18977
QpV_to_QV 196
RgC_RgV_mulrealsym 21315
RgM_mulreal 0
RgXY_cxevalx 63
RgX_cxeval 2366208
RgX_deflate_max 514575
RgX_deflate_order 527253
RgX_degree 503001
RgX_derivn 833
RgX_integ 105
ZX_deflate_max 316247
ZX_deflate_order 511409
_abs 518
_egal 108039026
_egal_i 108039024
_gtopoly 3468714
_polcoef 2251809
_quot 875
_quotfi 7
_quotfs 301
_quotqs 28
_quotri 7
_quotrs 28
_quotsf 35
_quotsq 70
_quotsr 70
_rfraccoef 21
_sercoef 113081
ceil_safe 1040336
ceilr 2111
centerlift 60473
centerlift0 707
centerliftii 42518
compo 313
constmat 14
content0 131005
deg1pol 556149
deg1pol_shallow 8390832
deg2pol_shallow 318633
degree 6790
denom 225024
denom_i 10349508
denominator 124264
denominator_v 287
denompol 119
deriv 114128
derivn 1351
derivnser 189
derivser 25248
diffop 3535
diffop0 42
diviiround 65766730
divrem 1057
err_intformal 35
floor_safe 62112
gceil 30221
gcvtoi 1113926
gdeflate 14525
gdivent 6200418
gdiventgs 296948
gdiventres 1064
gdiventsg 6198230
gdivmod 0
gdivround 1464990
gdvd 15815
geq 47184330
geval 0
geval_gp 11020
gfloor 5335077
gfrac 221841
gge 248430
ggrando 6657
ggt 2374039
gimag 29344
gle 7628241
glt 6328102
gmod 46137000
gmodgs 22028056
gmodsg 44990132
gmodulo 1599039
gmodulsg 1076942
gmodulss 774519
gne 60854695
gnot 603883
gppadicprec 105
gppoldegree 30895
gprecision 14122976
gpserprec 42
greal 6783
grndtoi 89698402
ground 2798721
gshift 48440280
gsubst 2737505
gsubst_v 84
gsubstpol 8708
gsubstvec 959
gtocol 196
gtocol0 3626
gtocolrev 0
gtocolrev0 273
gtopoly 1034580
gtopolyrev 2434131
gtovec 101716
gtovec0 106035
gtovecpost 1064
gtovecpre 3591
gtovecrev 0
gtovecrev0 287
gtovecsmall 18935
gtovecsmall0 7707
gtovecsmallpost 91
gtovecsmallpre 91
gtrunc 188802
gtrunc2n 113566007
gvar 128598842
gvar2 20639983
gvar9 55160
hqfeval 0
imag_i 286694684
init_qf_apply 497990
init_vectopre 3535
integ 350
integ_act 14
integser 25878
is_realext 177323
is_realquad 1099
iscomplex 0
isinexact 132081346
isinexactreal 14343
isint 445591
isrationalzeroscalar 0
isrealappr 1802637
issmall 326463
lift 2151440
lift0 2302323
lift_shallow 590706
liftall 26243
liftall_shallow 2003435
liftint 119
liftint_shallow 546
liftpol 5656
liftpol_shallow 21209035
listdeflate 21
lookup 833
mkcoln 1379
mkintn 19526
mkpoln 5470527
mkvecn 1111433
mkvecsmalln 125884
modRr_i 4856622
modRr_safe 0
mod_r 196
modrs 14
modsf 35
modsr 35
mulreal 12051144
numer 8631
numer_i 8977715
numerator 8925
op_ReIm 197240284
padic_to_Q 269723
padic_to_Q_shallow 14
padicprec 4172
padicprec_relative 2359
polcoef 728903
polcoef_i 2952509
poldeflate 8722
poldegree 102184
poleval 2892244
pollead 329
prec0 10266904
precCOMPLEX 22262582
precREAL 928876683
precision 941095174
precrealexact 1189968
qf_RgM_apply 7507
qf_ZM_apply 490483
qfb_ZM_apply 67214
qfbeval 347816
qfbevalb 7
qfbil 0
qfeval 16715
qfeval0 347935
qfevalb 21
qfnorm 0
qfnorm0 347879
quad_floor 518
quot 777
quotfi 7
quotfs 301
quotqs 14
quotrem 518
quotri 7
quotrs 14
quotsf 35
quotsq 35
quotsr 35
real_i 322097818
recvar 26579
rfrac_deriv 56
rfrac_derivn 42
round0 6020
round_i 53400675
roundr 3657943
roundr_safe 285522
scalarmat2 56
scalarpol 16895249
scalarpol_shallow 3604622
ser2pol_i 10070311
ser2pol_i_normalize 750158
ser2rfrac 539
ser2rfrac_i 10748
ser_inv 42057
ser_unscale 4193
serdeflate 5740
serequalXk 21052
serprec 112
serreverse 98
sertrunc 70
sertrunc_copy 1960
simplify 10809958
simplify_shallow 526864718
subst_higher 750099
subst_polmod 10969
swapvar_act 28
tayl 21
tayl_act 14
trunc0 217
uu32toi 241483
uu32toineg 72146
var2_aux 9968
var2_polmod 2933
var2_rfrac 7035
variables_vec 42
variables_vecsmall 1057
vdeflate 63
vec_padicprec 826
vec_padicprec_relative 413
vec_serprec 14
vecdenom 111541
vecdenompol 14

Generated by: LCOV version 1.14