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.12.0 lcov report (development 23171-a5c0ed393) Lines: 560 730 76.7 %
Date: 2018-10-20 05:38:07 Functions: 203 270 75.2 %
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
divrsz 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
mulrrz 0
mulsiz 0
mulsrz 0
mulssz 0
rdiviiz 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
mptrunc 21
dvdsi 84
sdivsi 140
dvdui 147
real_m1 147
varnmax 196
mpcopy 224
mod32 259
divrrz 404
cmpiu 994
cmpui 994
subis 1653
dvdiu 2261
cgetr_block 2992
dvdiiz 3985
truedivis 4474
ugcdui 4792
dvdis 5565
uabsdivui_rem 10591
equaliu 23682
equalui 23682
addss 25046
subss 25046
subuu 25046
cmprs 38829
stack_calloc 41541
ugcdiu 42961
cmpsr 76824
gmin_shallow 89408
uutoineg 91747
real2n 116191
affiz 138841
cgetg_block 146704
mpdiv 152903
equalis 153932
equalsi 154149
ceildivuu 158225
mpaff 162932
Mod32 166810
Fl_ellj_pre 189153
addri 211858
Mod16 216692
mpexpo 250421
absrnz_equal2n 308769
mod16 311962
cmpri 365236
affsi 432002
mpcmp 544828
real_1_bit 587436
cmpir 612535
modss 658567
absrnz_equal1 784414
rdivss 839647
stack_malloc_align 1199697
umodui 1259997
subrrz 1295880
mpround 1300804
addrrz 1306252
negr 1497018
subri 1507558
mindd 1635252
Mod2 1824732
evalprecp 1875955
minuu 1966983
Mod8 2042810
Mod4 2064111
umuluu_le 2858123
mulru 3125109
addrs 3305424
maxdd 3503015
subrs 3503135
stack_malloc 4159868
cmpis 4328443
cmpsi 4336997
itou_or_0 4600115
fractor 4803859
umuluu_or_0 4870894
rdivii 4920324
affectsign_safe 5319364
remlll_pre 5423147
dvdii 6067177
truedivsi 6168049
umodi2n 6315225
subsi 6558377
divii 7718677
modsi 7731907
Fl_div 8143402
affui 8404752
affur 8784716
utor 8784716
gmax_shallow 9663796
mpabs_shallow 9668812
mulrs 10015591
maxuu 10466439
mpsqr 11344557
umodsu 11549802
int_bit 11552260
mod4 11632766
Fl_center 12034403
uabsdiviu_rem 12480475
itos_or_0 13806781
sdivsi_rem 13900198
Fl_halve 14057616
evalvalp 16452993
mpshift 17114741
affrr_fixlg 19378966
modis 19590254
smodis 19628789
mpsub 20900585
mulri 21234367
mod2 23601031
truedivii 24719651
subiu 30201580
abscmpiu 30567316
abscmpui 30624003
absr 31634091
icopyspec 31833581
absi_shallow 32458947
real_0 32744492
subui 33452108
absequaliu 37651038
absequalui 37757626
udivuu_rem 38074403
mpodd 38554187
real_1 40410215
Fl_addmulmul_pre 47776857
mod8 48301782
mpadd 56520509
togglesign_safe 56904777
addis 61966505
vali 62239140
fixlg 62312012
Fl_sqr 64723892
shiftr 66938534
addiu 67065235
addui 67740166
Fl_neg 70903537
affii 71008159
Fl_triple 72607341
mpmul 72641995
addsi 72870180
itou 79556381
subir 81758466
shiftr_inplace 90596026
mod2BIL 96158169
rtor 100245707
real_0_bit 129870256
mulis 144086758
dvmduBIL 144637935
varncmp 147450434
addir 156097983
stor 184667927
affsr 184738949
smodss 201708965
itor 210100166
utoineg 210549729
cgetineg 210734834
negi 254576917
rcopy 276752676
absi 310191717
itos 329367433
mpabs 353707584
stoi 362635994
mpneg 363925270
Fl_double 374122074
expu 389864381
setabssign 391588789
cgetg_copy 440550609
muliu 605696748
expi 620782462
minss 793850488
togglesign 796649472
Fl_mul 862510844
addrr 926843827
subrr 938400756
remii 1235546083
leafcopy 1523049542
Fl_sqr_pre 1674405605
stackdummy 1725954168
adduu 1776075651
Fl_add 2159986771
Fl_mul_pre 2553896757
shift_right 2721660028
maxss 3006404816
dvmdsBIL 3117125338
shift_left 3224183544
subii 3986337683
Fl_sub 4471524704
icopy 4487776652
uutoi 4561422185
addii 4748559486
Fl_addmul_pre 4803919799
cgetg 5753169752
evalexpo 6277977676
utoi 6282391356
cgetr 6532662532
set_avma 6712520770
utoipos 7601266950
cgetipos 8630841572
cgeti 13987751603
new_chunk 41965077696
evallg 44454208461

Generated by: LCOV version 1.13