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-04-16 08:06:29 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 2366212
RgX_deflate_max 514573
RgX_deflate_order 527250
RgX_degree 502997
RgX_derivn 833
RgX_integ 105
ZX_deflate_max 316240
ZX_deflate_order 511398
_abs 518
_egal 108039002
_egal_i 108039004
_gtopoly 3468737
_polcoef 2251904
_quot 875
_quotfi 7
_quotfs 301
_quotqs 28
_quotri 7
_quotrs 28
_quotsf 35
_quotsq 70
_quotsr 70
_rfraccoef 21
_sercoef 113081
ceil_safe 1040401
ceilr 2111
centerlift 60473
centerlift0 707
centerliftii 42518
compo 313
constmat 14
content0 131005
deg1pol 556144
deg1pol_shallow 8390911
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 65763853
divrem 1057
err_intformal 35
floor_safe 62124
gceil 30221
gcvtoi 1113996
gdeflate 14525
gdivent 6200418
gdiventgs 296935
gdiventres 1064
gdiventsg 6198230
gdivmod 0
gdivround 1465042
gdvd 15804
geq 47184307
geval 0
geval_gp 11020
gfloor 5335077
gfrac 221841
gge 248429
ggrando 6657
ggt 2374039
gimag 29344
gle 7628243
glt 6328102
gmod 46136989
gmodgs 22028056
gmodsg 44990132
gmodulo 1599055
gmodulsg 1076958
gmodulss 774519
gne 60854695
gnot 603883
gppadicprec 105
gppoldegree 30895
gprecision 14122826
gpserprec 42
greal 6783
grndtoi 89692695
ground 2798731
gshift 48441196
gsubst 2737505
gsubst_v 84
gsubstpol 8708
gsubstvec 959
gtocol 196
gtocol0 3626
gtocolrev 0
gtocolrev0 273
gtopoly 1034605
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 113566182
gvar 128598001
gvar2 20639983
gvar9 55160
hqfeval 0
imag_i 286689581
init_qf_apply 497990
init_vectopre 3535
integ 350
integ_act 14
integser 25878
is_realext 177324
is_realquad 1099
iscomplex 0
isinexact 132081307
isinexactreal 14343
isint 445591
isrationalzeroscalar 0
isrealappr 1802626
issmall 326463
lift 2151451
lift0 2302334
lift_shallow 590700
liftall 26243
liftall_shallow 2003435
liftint 119
liftint_shallow 546
liftpol 5656
liftpol_shallow 21209035
listdeflate 21
lookup 833
mkcoln 1379
mkintn 19526
mkpoln 5470003
mkvecn 1111435
mkvecsmalln 125887
modRr_i 4856519
modRr_safe 0
mod_r 196
modrs 14
modsf 35
modsr 35
mulreal 12051594
numer 8631
numer_i 8977715
numerator 8925
op_ReIm 197187118
padic_to_Q 269724
padic_to_Q_shallow 14
padicprec 4172
padicprec_relative 2359
polcoef 728903
polcoef_i 2952607
poldeflate 8722
poldegree 102184
poleval 2892237
pollead 329
prec0 10267077
precCOMPLEX 22262754
precREAL 928876814
precision 941095667
precrealexact 1190003
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 321862454
recvar 26579
rfrac_deriv 56
rfrac_derivn 42
round0 6020
round_i 53398689
roundr 3657928
roundr_safe 285522
scalarmat2 56
scalarpol 16895221
scalarpol_shallow 3604685
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 10809996
simplify_shallow 526864735
subst_higher 750099
subst_polmod 10969
swapvar_act 28
tayl 21
tayl_act 14
trunc0 217
uu32toi 241483
uu32toineg 72141
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