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.1 lcov report (development 28676-df828f1c94) Lines: 2408 2615 92.1 %
Date: 2023-08-26 07:54:43 Functions: 231 242 95.5 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Itos 18984
QpV_to_QV 196
RgC_RgV_mulrealsym 21273
RgM_mulreal 0
RgXY_cxevalx 63
RgX_cxeval 2248321
RgX_deflate_max 294744
RgX_deflate_order 305531
RgX_degree 500428
RgX_derivn 833
RgX_integ 105
ZX_deflate_max 315204
ZX_deflate_order 510081
_abs 518
_egal 107918946
_egal_i 107918950
_gtopoly 3474512
_polcoef 2240739
_quot 875
_quotfi 7
_quotfs 301
_quotqs 28
_quotri 7
_quotrs 28
_quotsf 35
_quotsq 70
_quotsr 70
_rfraccoef 21
_sercoef 110908
ceil_safe 880386
ceilr 2066
centerlift 60473
centerlift0 707
centerliftii 42518
compo 313
constmat 14
content0 131005
deg1pol 555674
deg1pol_shallow 7729084
deg2pol_shallow 317632
degree 6790
denom 225008
denom_i 10364013
denominator 124236
denominator_v 287
denompol 119
deriv 114128
derivn 1351
derivnser 189
derivser 24444
diffop 3535
diffop0 42
diviiround 62536027
divrem 1057
err_intformal 35
floor_safe 62407
gceil 30088
gcvtoi 953665
gdeflate 11746
gdivent 6200418
gdiventgs 290859
gdiventres 1064
gdiventsg 6198230
gdivmod 0
gdivround 1464482
gdvd 15511
geq 47184268
geval 0
geval_gp 10817
gfloor 5289332
gfrac 233640
gge 136430
ggrando 6636
ggt 2359361
gimag 29316
gle 7628238
glt 6103983
gmod 46137498
gmodgs 22027602
gmodsg 44990793
gmodulo 1596558
gmodulsg 1076573
gmodulss 774505
gne 60734674
gnot 582379
gppadicprec 105
gppoldegree 30727
gprecision 12979846
gpserprec 42
greal 6146
grndtoi 42108986
ground 2670870
gshift 44762075
gsubst 2734615
gsubst_v 84
gsubstpol 8708
gsubstvec 959
gtocol 196
gtocol0 3626
gtocolrev 0
gtocolrev0 273
gtopoly 1040465
gtopolyrev 2434047
gtovec 101695
gtovec0 106014
gtovecpost 1064
gtovecpre 3591
gtovecrev 0
gtovecrev0 287
gtovecsmall 18928
gtovecsmall0 7707
gtovecsmallpost 91
gtovecsmallpre 91
gtrunc 186492
gtrunc2n 91509473
gvar 128787409
gvar2 20641161
gvar9 55181
hqfeval 0
imag_i 193951939
init_qf_apply 498737
init_vectopre 3535
integ 350
integ_act 14
integser 25074
is_realext 176943
is_realquad 1099
iscomplex 0
isinexact 132949203
isinexactreal 14336
isint 468025
isrationalzeroscalar 0
isrealappr 1151906
issmall 349802
lift 2142982
lift0 2293830
lift_shallow 586488
liftall 26243
liftall_shallow 2003211
liftint 119
liftint_shallow 546
liftpol 5656
liftpol_shallow 21216918
listdeflate 21
lookup 833
mkcoln 1379
mkintn 19526
mkpoln 3688946
mkvecn 1102138
mkvecsmalln 125179
modRr_i 4737481
modRr_safe 0
mod_r 196
modrs 14
modsf 35
modsr 35
mulreal 11336419
numer 8631
numer_i 8990233
numerator 8925
op_ReIm 125146905
padic_to_Q 269722
padic_to_Q_shallow 14
padicprec 4172
padicprec_relative 2359
polcoef 727559
polcoef_i 2936343
poldeflate 8722
poldegree 101993
poleval 2940714
pollead 329
prec0 7072122
precCOMPLEX 16662161
precREAL 596838209
precision 604731433
precrealexact 600857
qf_apply_RgM 7601
qf_apply_ZM 491136
qfb_apply_ZM 42
qfbeval 347816
qfbevalb 7
qfbil 0
qfeval 16714
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 226156777
recvar 26579
rfrac_deriv 56
rfrac_derivn 42
round0 5880
round_i 31586175
roundr 3143348
roundr_safe 336325
scalarmat2 56
scalarpol 16943174
scalarpol_shallow 3024232
ser2pol_i 9975794
ser2pol_i_normalize 740451
ser2rfrac 532
ser2rfrac_i 9961
ser_inv 38472
ser_unscale 4193
serdeflate 2961
serequalXk 20951
serprec 70
serreverse 98
sertrunc 70
sertrunc_copy 1960
simplify 10812160
simplify_shallow 527312245
subst_higher 749015
subst_polmod 10969
swapvar_act 28
tayl 21
tayl_act 14
trunc0 217
uu32toi 241492
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 111307
vecdenompol 14

Generated by: LCOV version 1.14