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 - kernel/none - level1.h (source / functions) Hit Total Coverage
Test: PARI/GP v2.18.1 lcov report (development 30773-2078653b96) Lines: 605 680 89.0 %
Date: 2026-03-30 09:27:24 Functions: 214 238 89.9 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Mod64 0
affectsign 0
divsi_rem 0
divss 0
divss_rem 0
dvdiiz 0
dvdisz 0
dvdiuz 0
dvmdis 0
dvmdsi 0
dvmdss 0
get_avma 0
mod64 0
modss 0
mpceil 0
mpfloor 0
rdivis 0
rdivsi 0
remis 0
remsi 0
remss 0
sdivss_rem 0
shiftl 0
shiftlr 0
mptrunc 49
real_m2n 126
varnmax 203
mod32 259
dvdsi 371
real_m1 455
mpcopy 665
ugcdui 2737
thuemorseu 3313
stack_calloc_align 3325
varnmin 10374
uabsdivui_rem 16693
absr 19040
addss 25067
subss 25067
subuu 25067
dvdis 33737
cmprs 40996
cgetr_block 44308
sdivsi 102149
stack_calloc 110689
gc_stoi 155903
dvdui 167195
subis 171738
Fl_ellj_pre 238057
mindd 264381
truedivis 268368
cmpri 284263
mod16 307025
Mod32 311108
uutoineg 362655
Mod16 389733
cgetg_block 426416
gc_utoi 468761
dvdiu 576277
mpdiv 665519
umodui 711392
cmpsr 796103
rdivss 839647
real2n 1068596
addri 1106218
equalis 1151307
equalsi 1151489
gc_utoipos 1153585
real_0 1157740
mpround 1216579
absrnz_equal2n 1300265
cmpss 1392943
Mod8 2073988
mpcmp 2226413
Mod2 2370258
udivuu_rem 2418379
gc_int 2742604
mulru 2765892
subir 3004972
equaliu 3021724
equalui 3021724
itou_or_0 3147011
maxdd 3211686
cmpis 3634525
negr 3682492
cmpsi 3866523
ceildivuu 3903817
Fl_center 4486119
absrnz_equal1 4553864
real_1_bit 4714013
mod4 5141181
subri 6107473
subsi 6184450
truedivsi 6202031
umuluu_or_0 6287697
affsi 6446155
maxuu 6610949
mulrs 7181596
fractor 7379028
umuluu_le 7617880
gc_NULL 7961417
cmpir 9444916
ugcdiu 10320081
affectsign_safe 10730562
uabsdiviu_rem 11892741
addrs 12361204
smodss 12440828
cmpui 12979367
cmpiu 12979488
rdivii 13106221
rdiviiz 13149693
mpabs_shallow 13428463
divii 14053918
utor 14335134
affur 14335242
mod8 15584741
subrs 16536541
dvdii 16888491
Fl_halve 18780815
modis 19638526
int_bit 20951827
smodis 21176088
hammingu 24048677
evalvalser 24359582
abscmpiu 32331637
abscmpui 32331797
mulri 38284520
mpexpo 38880908
absequaliu 39546799
absequalui 41296805
Mod4 43853162
itos_or_0 44910772
modsi 45242166
affui 45491528
Fl_div 46817598
stack_malloc 46928880
umodi2n 48996266
sdivsi_rem 51446493
gc_ulong 52093257
truedivii 54733303
stack_malloc_align 55540113
affrr_fixlg 56108009
absi_shallow 56386261
gc_bool 56763328
mod2 62590044
Fl_addmulmul_pre 64648823
minuu 69621032
remlll_pre 75638420
evalprecp 78670684
evalvalp 81627565
Fl_triple 87422166
mpsqr 91042466
addiu 96729966
Fl_sqr 99479304
addui 100805003
fixlg 105718885
mod2BIL 107446705
mpodd 116094359
icopyspec 117797905
subiu 133398736
real_1 133647242
subui 138374615
mpshift 153491293
togglesign_safe 157270320
dvmduBIL 165658910
itou 179081683
gc_double 184193141
shiftr 187935280
vali 190833776
addis 194692984
varncmp 198759977
gc_long 242625924
mpsub 251633310
utoineg 297813778
cgetineg 298674412
rtor 303765251
addsi 319879550
muliu 373309060
Fl_double 443040718
mulis 467096517
shiftr_inplace 467105523
itos 476301947
real_0_bit 482117638
addir 483073500
affsr 501171539
stor 501588152
mpadd 572827629
negi 640823468
itor 716766824
Fl_neg 729179806
umodsu 734174650
expu 796830852
stoi 798906342
lg2prec 815655481
mpmul 837025123
rcopy 916842289
mpneg 926470905
affii 964346295
subrr 1006375618
cgetg_copy 1490172190
cmpuu 1490478930
cgetr 1875803372
togglesign 1953454865
minss 2026016632
absi 2067004513
mpabs 2137958346
setabssign 2205028952
Fl_sqr_pre 2339977151
nbits2lg 2402645769
expi 2424608872
Fl_mul 2437881803
addrr 2931383659
remii 3061007837
adduu 3446736472
stackdummy 3681754833
Fl_mul_pre 4224866155
leafcopy 5061686927
shift_right 5732801907
Fl_add 6158739582
dvmdsBIL 7149461284
Fl_sub 7386495147
Fl_addmul_pre 7660803252
subii 7718635520
shift_left 7795358809
uutoi 8933413202
icopy 9151356348
maxss 9694775222
utoi 12047142662
addii 12532293547
evalexpo 13390502928
utoipos 14264687374
gc_const 15648089282
cgetipos 16454943356
cgetg 25522159143
cgeti 27468212977
new_chunk 95111936878
evallg 96832994444
set_avma 131324898001

Generated by: LCOV version 1.16