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.12.0 lcov report (development 22933-0de3639e3) Lines: 571 729 78.3 %
Date: 2018-08-19 05:36:10 Functions: 206 270 76.3 %
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 390
cmpiu 994
cmpui 994
subis 1653
dvdiu 2261
cgetr_block 2938
dvdiiz 3985
truedivis 4467
ugcdui 4792
dvdis 5558
uabsdivui_rem 10591
equaliu 22646
equalui 22646
addss 25046
subss 25046
subuu 25046
mod16 25123
cmprs 38668
stack_calloc 41534
ugcdiu 42933
mulrrz 56940
cmpsr 75522
uutoineg 88926
gmin_shallow 89242
divrsz 90548
real2n 114401
affiz 138169
cgetg_block 145623
mpdiv 152476
equalis 153929
equalsi 154146
ceildivuu 158386
mpaff 162078
Mod32 166810
Fl_ellj_pre 189151
addri 208526
Mod16 216692
mpexpo 250421
absrnz_equal2n 300407
cmpri 336063
affsi 432533
mpcmp 544023
real_1_bit 578632
cmpir 583131
absrnz_equal1 603816
modss 658525
rdivss 839647
stack_malloc_align 1198138
umodui 1259983
subrrz 1295880
mpround 1300804
Mod8 1307999
Mod4 1329979
addrrz 1396786
negr 1441170
subri 1464816
mindd 1635252
Mod2 1824732
evalprecp 1875990
minuu 1952695
umuluu_le 2854168
addrs 2918420
mulru 3099826
subrs 3212279
maxdd 3464653
stack_malloc 4143696
cmpis 4328359
cmpsi 4331320
itou_or_0 4591981
fractor 4797123
umodi2n 4846282
umuluu_or_0 4870750
rdivii 4873852
subsi 5265374
affectsign_safe 5318223
remlll_pre 5423615
affur 5939775
utor 5939775
dvdii 6054649
truedivsi 6168028
divii 7615535
modsi 7731719
gmax_shallow 7832400
mpabs_shallow 7837416
Fl_div 8141461
affui 8404740
mulrs 10015591
mpsqr 10124266
maxuu 10444346
int_bit 11552158
umodsu 11587171
mod4 11808093
Fl_center 12026822
uabsdiviu_rem 12480475
itos_or_0 13407857
sdivsi_rem 13899992
Fl_halve 14037548
mulri 16330310
evalvalp 16460333
mpshift 17086432
affrr_fixlg 18205217
modis 19590254
smodis 19628782
mpsub 20897701
mod2 20910067
truedivii 22887893
icopyspec 29863157
subiu 29879075
absi_shallow 30080666
abscmpiu 30938475
abscmpui 30995148
absr 31440731
real_0 32554805
subui 33129596
mpodd 35748851
udivuu_rem 36029729
absequaliu 36415921
absequalui 36522397
real_1 38537907
Fl_addmulmul_pre 47805404
mod8 49990141
mpadd 52287954
togglesign_safe 56904617
vali 60158604
addis 61040270
fixlg 61130375
shiftr 63030160
addiu 63683887
addui 64360398
addsi 64387696
Fl_sqr 65335857
mpmul 65394730
affii 70082237
Fl_neg 71319175
Fl_triple 72400233
itou 80072113
subir 80340410
shiftr_inplace 86972478
rtor 96944628
mod2BIL 97170742
real_0_bit 128992915
mulis 137165612
addir 141628793
dvmduBIL 143704722
varncmp 146788866
stor 175788618
affsr 175859640
itor 195715303
smodss 199027311
utoineg 208384782
cgetineg 208569892
negi 247285852
rcopy 257986392
absi 306270944
itos 315497589
mpabs 347674750
mpneg 355514134
stoi 360024374
expu 378604812
Fl_double 383711283
setabssign 385299543
cgetg_copy 436641175
muliu 604176584
expi 607224178
minss 773014241
togglesign 784841438
Fl_mul 858287314
addrr 892110397
subrr 905513585
remii 1218671173
leafcopy 1501007423
Fl_sqr_pre 1692838584
adduu 1729261913
stackdummy 1730449883
Fl_add 2159877035
Fl_mul_pre 2563741870
shift_right 2615719427
dvmdsBIL 2983138804
maxss 2997008121
shift_left 3101318657
subii 3937486701
icopy 4450233182
Fl_sub 4460760173
uutoi 4465496889
addii 4678019976
Fl_addmul_pre 4801882298
cgetg 5606046999
evalexpo 6019522190
utoi 6158003848
cgetr 6264448623
set_avma 6579844115
utoipos 7429428890
cgetipos 8443480679
cgeti 13691768507
new_chunk 40935275377
evallg 43458530118

Generated by: LCOV version 1.13