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 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.10.0 lcov report (development 22578-936e9dfa8) Lines: 569 727 78.3 %
Date: 2018-05-22 05:32:44 Functions: 203 267 76.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Mod64 0
addiiz 0
addirz 0
addriz 0
addsiz 0
addsrz 0
addssz 0
affectsign 0
affsz 0
divirz 0
divisz 0
divriz 0
divsi_rem 0
divsiz 0
divsrz 0
divss 0
divss_rem 0
divssz 0
dvdisz 0
dvdiuz 0
dvmdiiz 0
dvmdis 0
dvmdisz 0
dvmdsi 0
dvmdsiz 0
dvmdss 0
dvmdssz 0
mod64 0
modisz 0
modsiz 0
modssz 0
mpaddz 0
mpceil 0
mpfloor 0
mpmulz 0
mpsubz 0
muliiz 0
mulirz 0
mulriz 0
mulsiz 0
mulsrz 0
mulssz 0
rdivis 0
rdivsi 0
real_m2n 0
remiiz 0
remis 0
remisz 0
remsi 0
remsiz 0
remss 0
remssz 0
sdivss_rem 0
shiftl 0
shiftlr 0
subiiz 0
subirz 0
subisz 0
subriz 0
subrsz 0
subsiz 0
subsrz 0
subssz 0
varnmin 0
diviiz 14
rdiviiz 14
mptrunc 21
dvdsi 84
real_m1 91
sdivsi 140
dvdui 147
varnmax 196
mpcopy 224
mod32 259
divrrz 383
cmpiu 994
cmpui 994
truedivis 1163
subis 1653
dvdiu 2261
cgetr_block 2876
dvdiiz 3971
ugcdui 4792
dvdis 5558
uabsdivui_rem 10577
mpabs_shallow 11522
equaliu 21815
equalui 21815
addss 25046
subss 25046
subuu 25046
mod16 25123
stack_calloc 37103
cmprs 38668
ugcdiu 42947
mulrrz 56940
cmpsr 62327
uutoineg 88800
divrsz 90548
real2n 94118
equalis 136472
equalsi 136689
cgetg_block 145380
affiz 147700
mpdiv 150425
ceildivuu 154678
absi_shallow 163366
Mod32 166726
mpaff 173883
Fl_ellj_pre 189142
addri 207840
Mod16 216608
mpexpo 250151
absrnz_equal2n 301763
cmpri 336056
mindd 400202
affsi 431408
mpcmp 547899
real_1_bit 577222
cmpir 587889
absrnz_equal1 609303
modss 658420
rdivss 839647
stack_malloc_align 1020698
negr 1207060
umodui 1261297
subrrz 1295642
mpround 1300720
Mod8 1307999
Mod4 1329951
addrrz 1396548
subri 1526224
Mod2 1824648
evalprecp 1886463
minuu 1892991
umuluu_le 2851788
addrs 2925109
subrs 3245896
maxdd 3464849
stack_malloc 4055021
cmpis 4326596
cmpsi 4329144
mulru 4379495
itou_or_0 4589461
umodi2n 4846002
umuluu_or_0 4871087
subsi 5265129
affectsign_safe 5308311
remlll_pre 5434161
affur 5937626
utor 5937626
dvdii 6027100
truedivsi 6168028
mpsqr 6414022
divii 7616472
modsi 7731712
Fl_div 8120131
affui 8404712
mulrs 10015584
maxuu 10328097
fractor 11320411
rdivii 11396889
int_bit 11549111
umodsu 11587171
mod4 11806648
itos_or_0 11811314
Fl_center 12017442
uabsdiviu_rem 12480475
sdivsi_rem 13899985
Fl_halve 14010470
mulri 15945228
evalvalp 16048310
mpshift 17078652
affrr_fixlg 18203217
mpsub 18428617
truedivii 18530460
modis 19590204
smodis 19628592
mod2 20846740
absr 25416431
real_0 26522065
icopyspec 27913810
subiu 28093843
absequaliu 28642901
absequalui 28749468
abscmpiu 30037721
abscmpui 30094395
subui 31344245
mpodd 35720345
udivuu_rem 35805211
real_1 36027184
mpadd 47336194
Fl_addmulmul_pre 47815875
togglesign_safe 48415004
mod8 49989413
vali 55348031
mpmul 56672842
addis 58558938
fixlg 61176367
addsi 61867302
addiu 62843621
shiftr 63191954
addui 63520048
Fl_sqr 65088306
itou 65681324
affii 70182176
Fl_neg 71059163
Fl_triple 72382923
subir 79229455
shiftr_inplace 86593339
mod2BIL 97105919
rtor 100506525
real_0_bit 114765015
addir 121379875
mulis 131252797
dvmduBIL 143335354
varncmp 145774459
itor 167993505
stor 174855016
affsr 174926024
smodss 198250675
utoineg 206516518
cgetineg 206701638
negi 239044583
rcopy 249629943
itos 309389144
absi 336610846
mpneg 346886899
stoi 353425980
expu 372224164
mpabs 377587325
Fl_double 383787405
setabssign 414847455
cgetg_copy 444152039
muliu 584806408
expi 588423748
togglesign 756270995
minss 768963093
Fl_mul 851111842
addrr 882876295
subrr 890338535
remii 1201772529
leafcopy 1497209183
Fl_sqr_pre 1650577134
adduu 1688484914
stackdummy 1745906809
Fl_add 2461600785
shift_right 2571367367
Fl_mul_pre 2672681647
dvmdsBIL 2929832951
maxss 2966660849
shift_left 3045947398
subii 3795768200
icopy 4358955799
uutoi 4360357224
Fl_sub 4446233485
addii 4523646574
Fl_addmul_pre 4803814351
cgetg 5427855569
evalexpo 5887197229
utoi 5994053968
cgetr 6126752870
utoipos 7268178650
cgetipos 8265585067
cgeti 13386605975
new_chunk 40004814832
evallg 42583023525

Generated by: LCOV version 1.13