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 - language - intnum.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.2 lcov report (development 29115-f22e516b23) Lines: 1583 1632 97.0 %
Date: 2024-03-28 08:06:56 Functions: 132 133 99.2 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
quodif 0
sumnumlagrange2init 7
veczetaprime 7
err_code 14
initsinhsinh 14
intcirc 14
intcirc0 14
qrom3 14
sumaux 14
add_sumrfrac 21
ratpolemax 21
checksumtab 28
get_kN 28
intnumainfrat 28
prodnumrat 28
qromi 28
rfrac_eval0 28
rom_bsmall 28
sumnumrat_i 28
sumnumsidi0 28
M_from_wrapmon 35
contfraceval 35
rombint 35
rfrac_logderiv 49
sumnumlagrange1init 49
intnumgauexp 56
intnumgauexpinit 56
ratpolemax2 56
sumeulerrat 56
sumnumapinit 56
sumnumlagrangeinit_i 56
sumnumrat 56
intnumromb 63
intnumromb0 63
qrom2 63
rfrac_gtofp 63
sumnumap 63
sumnumap0 63
intlin 70
prodeulerrat 70
rfracm1_degree 70
opFps 77
sumlogzeta 77
sumnumlagrangeinit 77
intnumgauss0 91
sumnumlagrange 91
sumnumlagrange0 91
sumnum0 98
initnumsine 112
exptab 119
euler_set_Fs 126
sumnuminit 126
initsinh 133
intfuncinit_i 133
sumnumsidi 133
sumnum 140
intfuncinit 147
intfuncinit0 147
is_osc 147
interp 168
intnumosc 168
intnumosc0 168
polmax 168
sumnummonieninit 168
monroots 182
sumnummonien0 182
intnsing 203
get_oo 210
checkmonroots 231
expvec 238
expvecpr 238
sumnummonien 238
sumnummonieninit_i 238
initexpexp 259
initexpsinh 259
weight 266
intnumgaussinit 273
Pade 287
RX_realroots 287
inittanhsinh 420
homtab 539
checktabdoub 553
intninfpm 553
intninfinf 588
rfrac_evalfp 665
init_fin 854
is_fin_f 994
intnuminit 1001
intnuminit_i 1148
intinit_end 1197
intinit_start 1197
RFRAC_eval 2093
add_RFRAC_eval 2093
rfrac_eval 2093
f_getycplx 2149
monrefine 2436
contfracinit_i 2772
contfracinit 2961
intn 4079
logzetan 4214
code_aux 4550
intnum0 4641
checktab 4709
auxcirc 5222
intnum_i 5325
intnuminit0 5325
intnum 5353
sdmob 5362
contfrac_Euler 5698
quodif_i 5733
QD 5999
checktabsimp 9586
osc_wrap 9639
osc_wrap_prec 10591
_invf 12474
Legendreroot 15211
wrapmonw2 18819
_int_eval 20230
intnumgauss 20321
sercoeff 23226
isinC 23351
transcode 23897
isinR 24863
_exfn 33922
wrapmonw 34384
auxlin 36750
Legendrenext 96808
expscalpr 128643
id 187922
divr2_ip 399108
_mpmul 1844164
contfraceval_inv 4285608
auxeuler 37274090

Generated by: LCOV version 1.14