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 - basemath - lll.c (source / functions) Hit Total Coverage
Test: PARI/GP v2.16.1 lcov report (development 28676-df828f1c94) Lines: 1046 1302 80.3 %
Date: 2023-08-26 07:54:43 Functions: 98 100 98.0 %
Legend: Lines: hit not hit

Function Name Sort by function name Hit count Sort by hit count
Babai 0
fplll 0
matkerint0 28
lllgramkerim 35
lllkerim 35
kerint 42
lllgen 42
lllgramgen 42
lllgramkerimgen 42
lllkerimgen 42
kerint0 70
incrementalGSgen 168
lllallgen 168
lllgramallgen 168
REDgen 196
do_SWAPgen 196
qflllgram0 245
qflll0 301
pslg 504
ZM_to_RM 3540
fplll_heuristic 3540
gc_lll 9452
lllint 14697
lllgram 15967
ZC_to_RC 18265
dpeM_diagonal_shallow 19966
truncexpo 20749
lllgramint 41400
lllall 56174
RgM_square 57709
dpetor 93248
lll_trivial 193442
setG2_heuristic 340162
realsqrdotproduct 351594
setG_heuristic 359080
dpe_negz 591628
Babai_heuristic 702547
absrsmall2 1125378
lll 1165561
lllfp 1255035
rotateG 1751711
mulshift 1934650
dpe_addmuluz 2330877
dpe_submuluz 2458103
absrsmall 2501995
dperotate 3049424
addmuliu642n 3185186
u64toineg 3185186
addmulzu2n 3250853
submuliu642n 3294222
fplll_fast 3445152
submulzu2n 3446680
vectail_inplace 3454752
fplll_dpe 3527734
lll_finish 3527779
ZM_lll_norms 3650920
dbldotsquare 3782567
realdotproduct 4074789
dpe_muluz 5978897
submulshift 6811021
cget_dpemat 7055448
affdbldpe 7055454
affii_or_copy_gc 9690086
dpe_abssmall 9690106
Babai_dpe 11075110
cget_dblmat 13780515
dpe_cmpmul 15483062
dpe_cmp 15483076
addmuliu64_inplace 18491323
submuliu64_inplace 18624650
rotateG_fast 18868001
pari_rint 20223374
submuliu2n 20228007
update_alpha 20619825
addmuliu2n 20719762
cget_dpevec 23954120
addmulziu 24722297
submulziu 26480482
setG2_fast 27348947
dpe_addz 30099933
setG_fast 33991610
set_line 37585201
u64toi 40410195
Babai_fast 45456885
cget_dblvec 46466902
rotate 51941693
dpe_divz 53856728
dblrotate 56603894
dpe_abscmp 65868450
affidpe 68837089
affdpe 96055723
dbldotproduct 195471906
addzi 209090327
subzi 210666355
itodbl_exp 282691781
dpe_submulz 387066344
dpe_mulz 402549229
dpe_subz 417434165
dpe_normalize 419302630
dpe_normalize0 848275963

Generated by: LCOV version 1.14