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

Generated by: LCOV version 1.14