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 Hit Total Coverage
Test: PARI/GP v2.18.0 lcov report (development 29806-4d001396c7) Lines: 124563 135937 91.6 %
Date: 2024-12-21 09:08:57 Functions: 11446 12204 93.8 %
Legend: Rating: low: < 75 % medium: >= 75 % high: >= 90 %

Filename Sort by name Line Coverage Sort by line coverage Functions Sort by function coverage
ZG.c
60.3%60.3%
60.3 % 44 / 73 57.1 % 8 / 14
base5.c
68.8%68.8%
68.8 % 1098 / 1597 85.4 % 76 / 89
FpV.c
76.5%76.5%
76.5 % 735 / 961 79.6 % 109 / 137
pclgp.c
77.2%77.2%
77.2 % 1838 / 2381 85.0 % 153 / 180
FpXX.c
78.0%78.0%
78.0 % 955 / 1224 85.1 % 114 / 134
FlxX.c
81.1%81.1%
81.1 % 1195 / 1473 76.4 % 149 / 195
lll.c
81.3%81.3%
81.3 % 1330 / 1636 97.7 % 125 / 128
ifactor1.c
82.3%82.3%
82.3 % 1578 / 1918 86.9 % 93 / 107
aprcl.c
82.4%82.4%
82.4 % 580 / 704 96.0 % 48 / 50
FpXQX_factor.c
82.5%82.5%
82.5 % 1614 / 1957 82.5 % 127 / 154
mpqs.c
82.6%82.6%
82.6 % 695 / 841 89.5 % 34 / 38
galconj.c
83.3%83.3%
83.3 % 1917 / 2301 79.1 % 121 / 153
F3v.c
83.5%83.5%
83.5 % 152 / 182 76.7 % 23 / 30
F2x.c
83.7%83.7%
83.7 % 1544 / 1845 89.7 % 192 / 214
crvwtors.c
84.8%84.8%
84.8 % 274 / 323 83.3 % 25 / 30
factcyclo.c
84.9%84.9%
84.9 % 916 / 1079 90.6 % 77 / 85
ZV.c
85.3%85.3%
85.3 % 800 / 938 87.8 % 122 / 139
Zp.c
85.3%85.3%
85.3 % 734 / 860 87.3 % 69 / 79
ellanal.c
87.0%87.0%
87.0 % 683 / 785 92.8 % 64 / 69
F2v.c
87.4%87.4%
87.4 % 554 / 634 80.9 % 55 / 68
alglin1.c
87.5%87.5%
87.5 % 2725 / 3116 93.4 % 296 / 317
RgV.c
88.1%88.1%
88.1 % 509 / 578 91.3 % 95 / 104
gen2.c
88.1%88.1%
88.1 % 1568 / 1780 93.1 % 148 / 159
ZX.c
88.5%88.5%
88.5 % 700 / 791 88.8 % 95 / 107
Flx.c
88.6%88.6%
88.6 % 2402 / 2712 86.5 % 296 / 342
lambert.c
89.8%89.8%
89.8 % 237 / 264 81.8 % 18 / 22
Qfb.c
90.0%90.0%
90.0 % 1102 / 1224 93.6 % 131 / 140
polarit3.c
90.1%90.1%
90.1 % 1761 / 1955 93.0 % 187 / 201
hnf_snf.c
90.2%90.2%
90.2 % 1612 / 1788 90.7 % 97 / 107
polarit2.c
90.6%90.6%
90.6 % 2234 / 2466 95.4 % 209 / 219
alglin2.c
90.6%90.6%
90.6 % 1052 / 1161 93.4 % 85 / 91
lfunutils.c
90.7%90.7%
90.7 % 1805 / 1991 93.8 % 180 / 192
FpX.c
90.9%90.9%
90.9 % 1626 / 1788 93.4 % 184 / 197
prime.c
91.1%91.1%
91.1 % 644 / 707 92.2 % 71 / 77
FpE.c
91.1%91.1%
91.1 % 1089 / 1195 93.8 % 121 / 129
arith1.c
91.2%91.2%
91.2 % 2076 / 2276 94.0 % 218 / 232
FF.c
91.3%91.3%
91.3 % 1349 / 1477 93.4 % 141 / 151
RgX.c
91.3%91.3%
91.3 % 1612 / 1765 91.7 % 200 / 218
buch2.c
91.7%91.7%
91.7 % 2197 / 2397 93.4 % 155 / 166
FpX_factor.c
91.7%91.7%
91.7 % 1308 / 1426 91.9 % 114 / 124
base4.c
91.9%91.9%
91.9 % 1696 / 1845 91.9 % 170 / 185
concat.c
92.2%92.2%
92.2 % 330 / 358 100.0 % 15 / 15
perm.c
92.1%92.1%
92.1 % 1019 / 1106 94.1 % 112 / 119
alglin3.c
92.3%92.3%
92.3 % 536 / 581 89.3 % 50 / 56
gen3.c
92.3%92.3%
92.3 % 2427 / 2629 95.5 % 234 / 245
lfunlarge.c
92.6%92.6%
92.6 % 474 / 512 97.3 % 73 / 75
subcyclo.c
92.8%92.8%
92.8 % 609 / 656 93.9 % 46 / 49
ecpp.c
92.9%92.9%
92.9 % 748 / 805 96.9 % 95 / 98
nffactor.c
93.1%93.1%
93.1 % 1223 / 1314 94.9 % 75 / 79
ispower.c
93.2%93.2%
93.2 % 685 / 735 94.9 % 37 / 39
ellrank.c
93.3%93.3%
93.3 % 1153 / 1236 93.9 % 108 / 115
trans3.c
93.3%93.3%
93.3 % 1742 / 1867 97.7 % 126 / 129
modsym.c
93.3%93.3%
93.3 % 2817 / 3018 98.0 % 296 / 302
FlxqE.c
93.4%93.4%
93.4 % 865 / 926 94.5 % 86 / 91
buch3.c
93.4%93.4%
93.4 % 1504 / 1610 96.0 % 120 / 125
Fle.c
93.6%93.6%
93.6 % 427 / 456 89.1 % 57 / 64
F2xqE.c
93.7%93.7%
93.7 % 419 / 447 94.8 % 55 / 58
gen1.c
93.9%93.9%
93.9 % 1898 / 2022 100.0 % 102 / 102
arith2.c
93.9%93.9%
93.9 % 524 / 558 93.4 % 71 / 76
elliptic.c
93.9%93.9%
93.9 % 4421 / 4707 97.5 % 398 / 408
bb_group.c
94.2%94.2%
94.2 % 553 / 587 100.0 % 37 / 37
bibli1.c
94.3%94.3%
94.3 % 1188 / 1260 92.5 % 74 / 80
Flxq_log.c
94.7%94.7%
94.7 % 443 / 468 100.0 % 28 / 28
base2.c
94.6%94.6%
94.6 % 2204 / 2329 97.7 % 170 / 174
base1.c
94.7%94.7%
94.7 % 1720 / 1816 88.6 % 140 / 158
bern.c
95.0%95.0%
95.0 % 340 / 358 97.2 % 35 / 36
hyperell.c
95.0%95.0%
95.0 % 866 / 912 98.7 % 74 / 75
base3.c
95.0%95.0%
95.0 % 2061 / 2170 95.4 % 227 / 238
bibli2.c
95.4%95.4%
95.4 % 1235 / 1295 95.9 % 116 / 121
dirichlet.c
95.4%95.4%
95.4 % 481 / 504 93.3 % 42 / 45
buch1.c
95.5%95.5%
95.5 % 679 / 711 92.7 % 51 / 55
digits.c
95.6%95.6%
95.6 % 195 / 204 100.0 % 27 / 27
elltors.c
95.7%95.7%
95.7 % 421 / 440 92.3 % 24 / 26
char.c
95.7%95.7%
95.7 % 820 / 857 100.0 % 63 / 63
polarit1.c
95.8%95.8%
95.8 % 316 / 330 100.0 % 32 / 32
buch4.c
95.9%95.9%
95.9 % 140 / 146 100.0 % 8 / 8
ellsea.c
95.9%95.9%
95.9 % 1208 / 1260 96.9 % 94 / 97
rootpol.c
95.9%95.9%
95.9 % 1467 / 1530 97.5 % 116 / 119
subgroup.c
96.0%96.0%
96.0 % 356 / 371 100.0 % 24 / 24
quad.c
96.1%96.1%
96.1 % 687 / 715 95.0 % 57 / 60
trans2.c
96.1%96.1%
96.1 % 1262 / 1313 99.0 % 96 / 97
ellpadic.c
96.2%96.2%
96.2 % 588 / 611 100.0 % 47 / 47
nflist.c
96.3%96.3%
96.3 % 3111 / 3230 97.8 % 316 / 323
bnfunits.c
96.4%96.4%
96.4 % 217 / 225 100.0 % 14 / 14
lerch.c
96.5%96.5%
96.5 % 354 / 367 100.0 % 23 / 23
QX_factor.c
96.5%96.5%
96.5 % 773 / 801 97.8 % 44 / 45
bit.c
96.7%96.7%
96.7 % 408 / 422 94.4 % 34 / 36
msfarey.c
96.9%96.9%
96.9 % 187 / 193 100.0 % 17 / 17
lfunquad.c
96.8%96.8%
96.8 % 337 / 348 97.7 % 42 / 43
zetamult.c
96.9%96.9%
96.9 % 560 / 578 97.6 % 40 / 41
bb_hnf.c
96.8%96.8%
96.8 % 643 / 664 96.4 % 53 / 55
hgm.c
96.9%96.9%
96.9 % 1219 / 1258 100.0 % 139 / 139
polmodular.c
97.0%97.0%
97.0 % 2281 / 2352 100.0 % 142 / 142
nflistQT.c
97.0%97.0%
97.0 % 164 / 169 100.0 % 12 / 12
trans1.c
97.2%97.2%
97.2 % 2252 / 2317 99.4 % 166 / 167
ramanujantau.c
97.3%97.3%
97.3 % 107 / 110 100.0 % 12 / 12
Flv.c
97.2%97.2%
97.2 % 737 / 758 93.5 % 58 / 62
mftrace.c
97.3%97.3%
97.3 % 7496 / 7702 99.2 % 769 / 775
lfun.c
97.5%97.5%
97.5 % 1591 / 1632 100.0 % 163 / 163
polclass.c
97.5%97.5%
97.5 % 825 / 846 98.6 % 72 / 73
bnflog.c
97.8%97.8%
97.8 % 272 / 278 100.0 % 26 / 26
qfisom.c
98.1%98.1%
98.1 % 871 / 888 100.0 % 55 / 55
subfield.c
98.1%98.1%
98.1 % 928 / 946 100.0 % 51 / 51
qfsolve.c
98.3%98.3%
98.3 % 623 / 634 100.0 % 34 / 34
volcano.c
98.6%98.6%
98.6 % 340 / 345 100.0 % 28 / 28
mellininv.c
98.6%98.6%
98.6 % 349 / 354 100.0 % 40 / 40
ellisog.c
98.5%98.5%
98.5 % 1012 / 1027 100.0 % 89 / 89
grossenchar.c
98.6%98.6%
98.6 % 1033 / 1048 100.0 % 66 / 66
Ser.c
98.8%98.8%
98.8 % 162 / 164 100.0 % 21 / 21
kummer.c
98.7%98.7%
98.7 % 850 / 861 100.0 % 60 / 60
map.c
99.2%99.2%
99.2 % 240 / 242 100.0 % 30 / 30
hypergeom.c
99.4%99.4%
99.4 % 682 / 686 100.0 % 69 / 69
matperm.c
100.0%
100.0 % 78 / 78 100.0 % 4 / 4
ellpadiclambdamu.c
100.0%
100.0 % 113 / 113 100.0 % 7 / 7
random.c
100.0%
100.0 % 157 / 157 100.0 % 17 / 17

Generated by: LCOV version 1.16